Class: HasStrongPolicy::PolicyDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/has_strong_policy/policy_definition.rb

Instance Method Summary collapse

Instance Method Details

#apply(params, options = {}) ⇒ Object



17
18
19
20
21
22
# File 'lib/has_strong_policy/policy_definition.rb', line 17

def apply(params, options = {})
  applied = params
  applied = applied.require(@required) if @required
  applied = applied.permit(*@permitted) if @permitted
  applied
end

#extend_from(target) ⇒ Object



12
13
14
15
# File 'lib/has_strong_policy/policy_definition.rb', line 12

def extend_from(target)
  @required = target.get_required
  @permitted = target.get_permitted
end

#permitted(*keys) ⇒ Object



6
7
8
9
10
# File 'lib/has_strong_policy/policy_definition.rb', line 6

def permitted(*keys)
  @permitted ||= []
  @permitted += keys
  @permitted.flatten!
end

#required(required) ⇒ Object



2
3
4
# File 'lib/has_strong_policy/policy_definition.rb', line 2

def required(required)
  @required = required
end