Module: Ecoportal::API::GraphQL::Base::ContractorEntity::MemberChanges
- Included in:
- Ecoportal::API::GraphQL::Base::ContractorEntity
- Defined in:
- lib/ecoportal/api/graphql/base/contractor_entity/member_changes.rb
Instance Method Summary collapse
- #associate(*values, lead: false) ⇒ Object
- #dissassociate(*values) ⇒ Object
- #lead!(*values) ⇒ Object
- #unlead!(*values) ⇒ Object
Instance Method Details
#associate(*values, lead: false) ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/ecoportal/api/graphql/base/contractor_entity/member_changes.rb', line 7 def associate(*values, lead: false) ids = to_person_ids(*values) associatedPeopleIds.tap do |associated| associated.push!(*ids) next unless lead lead!(*ids) end end |
#dissassociate(*values) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/ecoportal/api/graphql/base/contractor_entity/member_changes.rb', line 18 def dissassociate(*values) ids = to_person_ids(*values) associatedPeopleIds.tap do |associated| unlead!(*ids) associated.delete!(*ids) end end |
#lead!(*values) ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/ecoportal/api/graphql/base/contractor_entity/member_changes.rb', line 27 def lead!(*values) ids = to_person_ids(*values) leadContractorIds.tap do |leads| associate(*ids) leads.push!(*ids) end end |
#unlead!(*values) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/ecoportal/api/graphql/base/contractor_entity/member_changes.rb', line 36 def unlead!(*values) ids = to_person_ids(*values) leadContractorIds.tap do |leads| leads.delete!(*ids) end end |