Class: Dorsale::ApplicationPolicy
- Inherits:
-
Object
- Object
- Dorsale::ApplicationPolicy
- Defined in:
- app/policies/dorsale/application_policy.rb
Defined Under Namespace
Classes: Scope
Instance Attribute Summary collapse
-
#subject ⇒ Object
readonly
Returns the value of attribute subject.
-
#user ⇒ Object
readonly
Returns the value of attribute user.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(user, subject) ⇒ ApplicationPolicy
constructor
A new instance of ApplicationPolicy.
- #policy(subject) ⇒ Object
- #policy_scope(subject) ⇒ Object
- #record ⇒ Object
Constructor Details
#initialize(user, subject) ⇒ ApplicationPolicy
Returns a new instance of ApplicationPolicy.
4 5 6 7 |
# File 'app/policies/dorsale/application_policy.rb', line 4 def initialize(user, subject) @user = user @subject = subject end |
Instance Attribute Details
#subject ⇒ Object (readonly)
Returns the value of attribute subject.
2 3 4 |
# File 'app/policies/dorsale/application_policy.rb', line 2 def subject @subject end |
#user ⇒ Object (readonly)
Returns the value of attribute user.
2 3 4 |
# File 'app/policies/dorsale/application_policy.rb', line 2 def user @user end |
Class Method Details
.define_subject_accessor! ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'app/policies/dorsale/application_policy.rb', line 25 def self.define_subject_accessor! # Dorsale::BillingMachine::InvoicePolicy -> :invoice object_type = self.to_s.demodulize.gsub("Policy", "").underscore.to_sym # Avoid user/subject conflict object_type = :other_user if object_type == :user self.send(:define_method, object_type) { subject } end |
.inherited(klass) ⇒ Object
21 22 23 |
# File 'app/policies/dorsale/application_policy.rb', line 21 def self.inherited(klass) klass.define_subject_accessor! end |
Instance Method Details
#policy(subject) ⇒ Object
13 14 15 |
# File 'app/policies/dorsale/application_policy.rb', line 13 def policy(subject) Pundit.policy(user, subject) end |
#policy_scope(subject) ⇒ Object
17 18 19 |
# File 'app/policies/dorsale/application_policy.rb', line 17 def policy_scope(subject) Pundit.policy_scope(user, subject) end |
#record ⇒ Object
9 10 11 |
# File 'app/policies/dorsale/application_policy.rb', line 9 def record subject end |