class ActionParamsPermitter::Builders::Main
Provides context for building permitters
Parameters: state - initial state for builder
Attributes
state[R]
Public Class Methods
new(state)
click to toggle source
# File lib/action_params_permitter/builders/main.rb, line 15 def initialize(state) @state = state end
Public Instance Methods
attribute(name)
click to toggle source
Adds intention for attribute permitting
Parameters: name - name of the permitting attribute
Returns: new state
# File lib/action_params_permitter/builders/main.rb, line 43 def attribute(name) state << name state end
attributes(*names)
click to toggle source
Adds intention for attributes permitting. Works exactly as a ‘attribute` but accepts array of attributes
Parameters: names - names of the permitting attributes
Returns: new state
# File lib/action_params_permitter/builders/main.rb, line 59 def attributes(*names) names.each { |name| attribute(name) } state end
resource(name, options = {}, &block)
click to toggle source
Adds intention for resource permitting
Parameters: name - name of the permitting resource options - hash with options. Available are:
required - true/false. Required may be only top level resource and only one.
Returns: new state
# File lib/action_params_permitter/builders/main.rb, line 30 def resource(name, options = {}, &block) Builders::Resource.new(name, state).call(&block) end
Private Instance Methods
top_level_builder?()
click to toggle source
# File lib/action_params_permitter/builders/main.rb, line 66 def top_level_builder? state.is_a?(Hash) end