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