Module: Archipelago::PunditAdapter
- Defined in:
- lib/archipelago/pundit_adapter.rb
Instance Method Summary collapse
Instance Method Details
#authorize(record, query = nil) ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/archipelago/pundit_adapter.rb', line 5 def (record, query = nil) query ||= infer_pundit_query policy = policy(record) unless policy.public_send(query) raise Archipelago::Forbidden, "not allowed to #{query} this #{record.class}" end record end |
#policy(record) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/archipelago/pundit_adapter.rb', line 16 def policy(record) klass = "#{record.class}Policy".safe_constantize raise Archipelago::Forbidden, "no policy found for #{record.class}" unless klass klass.new(current_user, record) end |