Modules
Можно создавать код, который будет переиспользован в других компонентах
Они чаще складываются в lib директорию проекта (но могут и в app)
# ./lib/my_module.rb
module MyModule
def self.included(base)
base.extend(ClassMethods)
end
module ClassMethods
def another_custom
# ...
end
end
def custom(a)
# do sth
end
end
Далее используем этот код в нашем контроллере или где хотим:
class MyController < ApplicationController
include MyModule
def self.func(*args)
another_custom do |controller, value|
controller.custom(value)
end
end
end
Last updated