既存の処理を書き換えつつ、さらに機能追加する。
includeとprependとextendを一個のmoduleで実現するサンプル。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# frozen_string_literal: true
module Hoge
extend ActiveSupport::Concern
included do
singleton_class.send(:prepend, Module.new do
def override
end
end
end
module ClassMethods
def class_method
end
end
def instance_method
end
end
|