Module: LinkedRails::Policy::ClassMethods

Defined in:
lib/linked_rails/policy.rb

Instance Method Summary collapse

Instance Method Details

#condition_alternatives(attr, permission_required) ⇒ Object



140
141
142
143
144
145
146
# File 'lib/linked_rails/policy.rb', line 140

def condition_alternatives(attr, permission_required)
  raise("#{attr} not permitted by #{self}") if attribute_options(attr).blank? && permission_required

  attribute_options(attr)
    .select { |opts| opts[:conditions].present? }
    .map { |opts| property_shapes(opts[:conditions]) }
end

#permitted_attributesObject



152
153
154
155
156
# File 'lib/linked_rails/policy.rb', line 152

def permitted_attributes
  initialize_permitted_attributes

  _permitted_attributes
end

#policy_classObject



148
149
150
# File 'lib/linked_rails/policy.rb', line 148

def policy_class
  @policy_class ||= name.sub(/Policy/, '').classify.safe_constantize
end