Sha256: 9bae7dc44c780bdfd6b93a4b8801a71bd92c0872f59179cbcb0d85c824994230
Contents?: true
Size: 867 Bytes
Versions: 6
Compression:
Stored size: 867 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 # Add alias to base policy ActionPolicy::Base.extend ActionPolicy::ScopeMatchers::ActiveRecord ActiveSupport.on_load(:active_record) do # Register relation scope matcher ActionPolicy::Base.scope_matcher :active_record_relation, ActiveRecord::Relation 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) end
Version data entries
6 entries across 6 versions & 1 rubygems