Class: Eaco::Cucumber::ActiveRecord::User::Designators::Position
- Inherits:
-
Designator
- Object
- String
- Designator
- Eaco::Cucumber::ActiveRecord::User::Designators::Position
- Defined in:
- lib/eaco/cucumber/active_record/user/designators/position.rb
Overview
A Designator based on a position an User occupies in an organigram. It resolves Actors by id looking them up from the user_id field.
The Position ID is available as the Designator#value.
The String representation for an example Position 42 is “position:42”.
Instance Attribute Summary
Attributes inherited from Designator
Instance Method Summary collapse
-
#describe ⇒ String
This Designator description.
-
#position ⇒ ActiveRecord::Position
private
Looks up this position by ID, and memoizes it in an instance variable.
-
#resolve ⇒ Array
Users matching this designator.
Methods inherited from Designator
#as_json, configure!, designator_name, harvest, id, #initialize, #inspect, label, #label, make, parse, resolve, search, #type
Constructor Details
This class inherits a constructor from Eaco::Designator
Instance Method Details
#describe ⇒ String
This Designator description.
24 25 26 |
# File 'lib/eaco/cucumber/active_record/user/designators/position.rb', line 24 def describe(*) "#{position.name} in #{position.department.name}" end |
#position ⇒ ActiveRecord::Position (private)
Looks up this position by ID, and memoizes it in an instance variable.
44 45 46 |
# File 'lib/eaco/cucumber/active_record/user/designators/position.rb', line 44 def position @_position ||= ActiveRecord::Position.find(self.value) end |
#resolve ⇒ Array
Users matching this designator.
33 34 35 |
# File 'lib/eaco/cucumber/active_record/user/designators/position.rb', line 33 def resolve [position.user] end |