Class: Wf::CaseCommand::ConsumeToken
- Inherits:
-
Object
- Object
- Wf::CaseCommand::ConsumeToken
- Includes:
- SimpleCommand
- Defined in:
- app/models/wf/case_command/consume_token.rb
Instance Attribute Summary collapse
-
#locked_item ⇒ Object
readonly
Returns the value of attribute locked_item.
-
#place ⇒ Object
readonly
Returns the value of attribute place.
-
#wf_case ⇒ Object
readonly
Returns the value of attribute wf_case.
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(wf_case, place, locked_item = nil) ⇒ ConsumeToken
constructor
A new instance of ConsumeToken.
Constructor Details
#initialize(wf_case, place, locked_item = nil) ⇒ ConsumeToken
Returns a new instance of ConsumeToken.
7 8 9 10 11 |
# File 'app/models/wf/case_command/consume_token.rb', line 7 def initialize(wf_case, place, locked_item = nil) @wf_case = wf_case @place = place @locked_item = locked_item end |
Instance Attribute Details
#locked_item ⇒ Object (readonly)
Returns the value of attribute locked_item.
6 7 8 |
# File 'app/models/wf/case_command/consume_token.rb', line 6 def locked_item @locked_item end |
#place ⇒ Object (readonly)
Returns the value of attribute place.
6 7 8 |
# File 'app/models/wf/case_command/consume_token.rb', line 6 def place @place end |
#wf_case ⇒ Object (readonly)
Returns the value of attribute wf_case.
6 7 8 |
# File 'app/models/wf/case_command/consume_token.rb', line 6 def wf_case @wf_case end |
Instance Method Details
#call ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'app/models/wf/case_command/consume_token.rb', line 13 def call Wf::ApplicationRecord.transaction do if locked_item wf_case.tokens.where(place: place, state: :locked, locked_workitem_id: locked_item.id).update(consumed_at: Time.zone.now, state: :consumed) else wf_case.tokens.where(id: wf_case.tokens.where(place: place, state: :free).first&.id).update(consumed_at: Time.zone.now, state: :consumed) end end end |