Class: ParameterSets::ControllerInstanceDelegate

Inherits:
Object
  • Object
show all
Defined in:
lib/parameter_sets/controller_instance_delegate.rb

Instance Method Summary collapse

Constructor Details

#initialize(controller) ⇒ ControllerInstanceDelegate



4
5
6
# File 'lib/parameter_sets/controller_instance_delegate.rb', line 4

def initialize(controller)
  @controller = controller
end

Instance Method Details

#param_set(name, object = nil, options = {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/parameter_sets/controller_instance_delegate.rb', line 8

def param_set(name, object = nil, options = {})
  if name.is_a?(Symbol) || name.is_a?(String)
    if schema = @controller.class.parameter_sets[name.to_sym]
      schema.parameters(@controller, object, options)
    else
      raise ParameterSetNotDefinedError, "No parameter set named #{name} is defined"
    end
  else
    param_set_for(name)
  end
end

#param_set_for(object, options = {}) ⇒ Object



20
21
22
23
# File 'lib/parameter_sets/controller_instance_delegate.rb', line 20

def param_set_for(object, options = {})
  param_set_name = object.model_name.param_key
  param_set(param_set_name.to_sym, object, options)
end