module ActionParamsPermitter::Builders::Concerns::ResourceRequiring
Public Class Methods
new(*params)
click to toggle source
Calls superclass method
# File lib/action_params_permitter/builders/concerns/resource_requiring.rb, line 11 def initialize(*params) @is_required = false super(*params) end
prepended(base)
click to toggle source
# File lib/action_params_permitter/builders/concerns/resource_requiring.rb, line 5 def self.prepended(base) base.instance_eval do attr_reader :is_required end end
Public Instance Methods
resource(name, options = {}, &block)
click to toggle source
Calls superclass method
# File lib/action_params_permitter/builders/concerns/resource_requiring.rb, line 16 def resource(name, options = {}, &block) check_double_requiring(options) @is_required = true if options.fetch(:required, false) super end
Private Instance Methods
check_double_requiring(options)
click to toggle source
# File lib/action_params_permitter/builders/concerns/resource_requiring.rb, line 24 def check_double_requiring(options) return if !top_level_builder? return if !is_required return if !options[:required] raise ActionParamsPermitter::DoubleRequireError, 'You may define only one required top level resource!' end