Class: Plangrade::Resources::Participant
- Defined in:
- lib/plangrade/resources/participant.rb
Instance Attribute Summary
Attributes inherited from Base
Class Method Summary collapse
- .all(company_id) ⇒ Object
- .create(company_id, first_name, last_name, street1, street2, city, state, zip, dob, email, phone, employee_id, opts = {}) ⇒ Object
- .get(id) ⇒ Object
Instance Method Summary collapse
Methods inherited from Base
#api_handler, base_name, #base_name, #changes, #delete!, fetch, identity_map, #initialize, #load!, #loaded?, model_attributes, #modified?, #new_record?, #persisted?, #reload!, #save
Methods included from ApiHandler
#api_handler, #establish_api_handler
Constructor Details
This class inherits a constructor from Plangrade::Resources::Base
Class Method Details
.all(company_id) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/plangrade/resources/participant.rb', line 28 def self.all(company_id) result = api_handler.all_participants(company_id) parsed_result = JSON.parse(result.body) participants ||= begin parsed_result.map do |participant| new(:id => participant["id"], :company_id => participant["company_id"], :employee_id => participant["employee_id"], :first_name => participant["first_name"], :last_name => participant["last_name"], :street1 => participant["street1"], :street2 => participant["street2"], :city => participant["city"], :state => participant["state"], :zip => participant["zip"], :dob => participant["dob"], :email => participant["email"], :phone => participant["phone"]) end end participants end |
.create(company_id, first_name, last_name, street1, street2, city, state, zip, dob, email, phone, employee_id, opts = {}) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/plangrade/resources/participant.rb', line 7 def self.create(company_id, first_name, last_name, street1, street2, city, state, zip, dob, email, phone, employee_id, opts={}) if opts && !opts.nil? && opts != {} result = api_handler.create_participant(:company_id => company_id, :first_name => first_name, :last_name => last_name, :street1 => street1, :street2 => street2, :city => city, :state => state, :zip => zip, :dob => dob, :ssn => opts[:ssn], :email => email, :phone => phone, :employee_id => employee_id) else result = api_handler.create_participant(:company_id => company_id, :first_name => first_name, :last_name => last_name, :street1 => street1, :street2 => street2, :city => city, :state => state, :zip => zip, :dob => dob, :email => email, :phone => phone, :employee_id => employee_id) end return nil unless result.created? id = result.headers[:location].split('/').last.to_i new(:id => id) end |
.get(id) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/plangrade/resources/participant.rb', line 20 def self.get(id) result = api_handler.get_participant(id) parsed_result = JSON.parse(result.body) new(:id => parsed_result["id"], :company_id => parsed_result["company_id"], :employee_id => parsed_result["employee_id"], :first_name => parsed_result["first_name"], :last_name => parsed_result["last_name"], :street1 => parsed_result["street1"], :street2 => parsed_result["street2"], :city => parsed_result["city"], :state => parsed_result["state"], :zip => parsed_result["zip"], :dob => parsed_result["dob"], :email => parsed_result["email"], :phone => parsed_result["phone"]) end |
Instance Method Details
#archive! ⇒ Object
41 42 43 44 45 |
# File 'lib/plangrade/resources/participant.rb', line 41 def archive! result = api_handler.archive_participant(@id) return nil unless result.success? new(result.body) end |
#update!(params) ⇒ Object
47 48 49 |
# File 'lib/plangrade/resources/participant.rb', line 47 def update!(params) api_handler.update_participant(@id, params) end |