Class: License::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/cancan-permits/license/base_license.rb

Direct Known Subclasses

BloggingLicense, UserAdminLicense

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(permit) ⇒ Base

Returns a new instance of Base.



5
6
7
# File 'lib/cancan-permits/license/base_license.rb', line 5

def initialize permit
  @permit = permit
end

Instance Attribute Details

#permitObject (readonly)

Returns the value of attribute permit.



3
4
5
# File 'lib/cancan-permits/license/base_license.rb', line 3

def permit
  @permit
end

Instance Method Details

#can(action, subject, conditions = nil, &block) ⇒ Object



13
14
15
# File 'lib/cancan-permits/license/base_license.rb', line 13

def can(action, subject, conditions = nil, &block)
  permit.can action, subject, conditions, &block
end

#cannot(action, subject, conditions = nil, &block) ⇒ Object



17
18
19
# File 'lib/cancan-permits/license/base_license.rb', line 17

def cannot(action, subject, conditions = nil, &block)
  permit.cannot action, subject, conditions, &block
end

#enforce!Object



9
10
11
# File 'lib/cancan-permits/license/base_license.rb', line 9

def enforce!
  raise "enforce! must be implemented by subclass of License::Base"
end

#owns(user, clazz, ownership_relation = :user_id, user_id_attribute = :id) ⇒ Object



21
22
23
# File 'lib/cancan-permits/license/base_license.rb', line 21

def owns(user, clazz, ownership_relation = :user_id, user_id_attribute = :id)
  permit.owns user, clazz, ownership_relation, user_id_attribute
end