Class: Georgia::RevisionPolicy

Inherits:
Policy
  • Object
show all
Defined in:
app/policies/georgia/revision_policy.rb

Instance Attribute Summary collapse

Attributes inherited from Policy

#controller

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(controller, page, revision, attributes) ⇒ RevisionPolicy

Returns a new instance of RevisionPolicy.



7
8
9
10
11
12
# File 'app/policies/georgia/revision_policy.rb', line 7

def initialize controller, page, revision, attributes
  @page = page
  @revision = revision
  @attributes = attributes
  super
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Georgia::Policy

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



4
5
6
# File 'app/policies/georgia/revision_policy.rb', line 4

def attributes
  @attributes
end

#pageObject (readonly)

Returns the value of attribute page.



4
5
6
# File 'app/policies/georgia/revision_policy.rb', line 4

def page
  @page
end

#revisionObject

Returns the value of attribute revision.



5
6
7
# File 'app/policies/georgia/revision_policy.rb', line 5

def revision
  @revision
end

Class Method Details

.update(controller, page, revision, attributes) ⇒ Object



14
15
16
# File 'app/policies/georgia/revision_policy.rb', line 14

def self.update controller, page, revision, attributes
  new(controller, page, revision, attributes).update_attributes
end

Instance Method Details

#update_attributesObject



18
19
20
21
22
23
24
25
26
# File 'app/policies/georgia/revision_policy.rb', line 18

def update_attributes
  if can? :manage, revision
    admin_update_attributes
  elsif can? :review, revision
    contributor_update_attributes
  else
    false
  end
end