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
-
#leasers ⇒ Object
Returns the value of attribute leasers.
Instance Method Summary collapse
-
#current ⇒ Object
Returns the current leaser.
-
#current=(leaser) ⇒ Object
Sets the current leaser.
-
#leaser_names ⇒ Object
Leaser names currently used in the app.
-
#leasing(object) ⇒ Object
Add leaser to array of leasers.
Instance Attribute Details
#leasers ⇒ Object
Returns the value of attribute leasers.
10 11 12 |
# File 'lib/leases.rb', line 10 def leasers @leasers end |
Instance Method Details
#current ⇒ Object
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_names ⇒ Object
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 |