class ActionHandler::Config
Attributes
action_methods[R]
args_suppliers[R]
as_controller[R]
custom_args[R]
Public Class Methods
get(handler_class)
click to toggle source
# File lib/action_handler/config.rb, line 7 def self.get(handler_class) handler_class.instance_variable_get(CONFIG_VAR_NAME) end
new()
click to toggle source
# File lib/action_handler/config.rb, line 22 def initialize @as_controller = nil @action_methods = nil @args_suppliers = [] @custom_args = {} # { method_name: proc } end
set(handler_class, config)
click to toggle source
# File lib/action_handler/config.rb, line 11 def self.set(handler_class, config) raise ArgumentError, 'invalid config' unless config.is_a?(self) handler_class.instance_variable_set(CONFIG_VAR_NAME, config) end
Public Instance Methods
action_methods=(names)
click to toggle source
# File lib/action_handler/config.rb, line 35 def action_methods=(names) raise ArgumentError, 'must be array' unless names.is_a?(Array) @action_methods = names end
add_arg(name, &block)
click to toggle source
# File lib/action_handler/config.rb, line 45 def add_arg(name, &block) @custom_args[name] = block end
add_args_supplier(supplier)
click to toggle source
# File lib/action_handler/config.rb, line 41 def add_args_supplier(supplier) @args_suppliers.push(supplier) end
as_controller=(block)
click to toggle source
# File lib/action_handler/config.rb, line 29 def as_controller=(block) raise ArgumentError, 'must be proc' unless block.is_a?(Proc) @as_controller = block end