Class: Pipekit::Deal

Inherits:
Object
  • Object
show all
Includes:
Repository
Defined in:
lib/pipekit/deal.rb

Constant Summary collapse

SINGULAR_CLASSNAME =
"deal".freeze
PLURALIZED_CLASSNAME =
"deals".freeze

Instance Method Summary collapse

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

Raises:



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