Class: Pipekit::Deal
Constant Summary collapse
- SINGULAR_CLASSNAME =
"deal".freeze
- PLURALIZED_CLASSNAME =
"deals".freeze
Instance Method Summary collapse
- #get_by_person_id(person_id, person_repo: Person.new) ⇒ Object
-
#update_by_person(email, params, person_repo: Person.new) ⇒ Object
Finds a person by their email, then finds the first deal related to that person and updates it with the params provided.
Methods included from Repository
#all, #create, #find_by, #initialize, #update, #where
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Pipekit::Repository
Instance Method Details
#get_by_person_id(person_id, person_repo: Person.new) ⇒ Object
7 8 9 10 |
# File 'lib/pipekit/deal.rb', line 7 def get_by_person_id(person_id, person_repo: Person.new) raise UnknownPersonError, "No person ID supplied when getting deals by person ID" unless person_id person_repo.find_deals(person_id) end |
#update_by_person(email, params, person_repo: Person.new) ⇒ Object
Finds a person by their email, then finds the first deal related to that person and updates it with the params provided
14 15 16 17 18 |
# File 'lib/pipekit/deal.rb', line 14 def update_by_person(email, params, person_repo: Person.new) person = person_repo.find_exactly_by_email(email) deal = get_by_person_id(person[:id], person_repo: person_repo).first update(deal[:id], params) end |