Class: Consent::Permission

Inherits:
Object
  • Object
show all
Defined in:
lib/consent/permission.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(subject_key, action_key, view_key = nil) ⇒ Permission

Returns a new instance of Permission.



7
8
9
10
11
12
# File 'lib/consent/permission.rb', line 7

def initialize(subject_key, action_key, view_key = nil)
  @subject_key = subject_key
  @action_key = action_key
  @view_key = view_key
  @view = Consent.find_view(subject_key, view_key) if view_key
end

Instance Attribute Details

#action_keyObject (readonly)

Returns the value of attribute action_key.



5
6
7
# File 'lib/consent/permission.rb', line 5

def action_key
  @action_key
end

#subject_keyObject (readonly)

Returns the value of attribute subject_key.



5
6
7
# File 'lib/consent/permission.rb', line 5

def subject_key
  @subject_key
end

#viewObject (readonly)

Returns the value of attribute view.



5
6
7
# File 'lib/consent/permission.rb', line 5

def view
  @view
end

#view_keyObject (readonly)

Returns the value of attribute view_key.



5
6
7
# File 'lib/consent/permission.rb', line 5

def view_key
  @view_key
end

Instance Method Details

#actionObject



14
15
16
# File 'lib/consent/permission.rb', line 14

def action
  @action ||= Consent.find_action(subject_key, action_key)
end

#conditions(*args) ⇒ Object



22
23
24
# File 'lib/consent/permission.rb', line 22

def conditions(*args)
  @view.nil? ? nil : @view.conditions(*args)
end

#object_conditions(*args) ⇒ Object



26
27
28
# File 'lib/consent/permission.rb', line 26

def object_conditions(*args)
  @view.nil? ? nil : @view.object_conditions(*args)
end

#valid?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/consent/permission.rb', line 18

def valid?
  action && (@view_key.nil? == @view.nil?)
end