Module: Leases

Extended by:
Leases
Included in:
Leases
Defined in:
lib/leases.rb,
lib/leases/model.rb,
lib/leases/railtie.rb,
lib/leases/version.rb,
lib/leases/controller.rb,
lib/leases/model/base.rb,
lib/leases/model/callbacks.rb

Defined Under Namespace

Modules: Controller, Model Classes: Railtie

Constant Summary collapse

VERSION =
'1.2.0'

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#leasersObject

Returns the value of attribute leasers.



10
11
12
# File 'lib/leases.rb', line 10

def leasers
  @leasers
end

Instance Method Details

#currentObject

Returns the current leaser. This method uses Thread.current and is completely thread-safe.

Example

Leases.current

Returns

Object

The current leaser



57
58
59
# File 'lib/leases.rb', line 57

def current
  Thread.current[:leaser]
end

#current=(leaser) ⇒ Object

Sets the current leaser.

Example

Leases.current = account



68
69
70
# File 'lib/leases.rb', line 68

def current=(leaser)
  Thread.current[:leaser] = leaser
end

#leaser_namesObject

Leaser names currently used in the app

Example

Leases.leaser_names

Returns

Array

List of leaser names



38
39
40
41
42
43
# File 'lib/leases.rb', line 38

def leaser_names
  leasers.map do |l|
    model = l.constantize
    model.leaser_names
  end.flatten
end

#leasing(object) ⇒ Object

Add leaser to array of leasers.

Example

leasing(Account)



20
21
22
23
24
25
# File 'lib/leases.rb', line 20

def leasing(object)
  self.leasers << object.name
  self.leasers.uniq!

  object
end