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