Sha256: b024c8770dc10f4933c0ba4c78e1cd477619ed364785d293d91e791876be9e9b
Contents?: true
Size: 800 Bytes
Versions: 2
Compression:
Stored size: 800 Bytes
Contents
# frozen_string_literal: true module ActionPolicy module ScopeMatchers # Adds `relation_scope` method as an alias # for `scope_for :active_record_relation` module ActiveRecord def relation_scope(*__rest__, &__block__) scope_for(:active_record_relation, *__rest__, &__block__) end; respond_to?(:ruby2_keywords, true) && (ruby2_keywords :relation_scope) end end end # Register relation scope matcher ActionPolicy::Base.scope_matcher :active_record_relation, ActiveRecord::Relation # Add alias to base policy ActionPolicy::Base.extend ActionPolicy::ScopeMatchers::ActiveRecord ActiveRecord::Relation.include(Module.new do def policy_name if model.respond_to?(:policy_name) model.policy_name.to_s else "#{model}Policy" end end end)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
action_policy-0.6.7 | lib/.rbnext/2.7/action_policy/rails/scope_matchers/active_record.rb |
action_policy-0.6.6 | lib/.rbnext/2.7/action_policy/rails/scope_matchers/active_record.rb |