Class: Plangrade::Resources::Participant

Inherits:
Base
  • Object
show all
Defined in:
lib/plangrade/resources/participant.rb

Instance Attribute Summary

Attributes inherited from Base

#attrs, #id

Class Method Summary collapse

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, *opts) ⇒ Object



21
22
23
24
25
26
# File 'lib/plangrade/resources/participant.rb', line 21

def self.all(company_id, *opts)
  opts ||= {}
  opts[:company_id] = company_id
  result = api_handler.all_participants(opts)
  new(result.body[:participants])
end

.create(company_id, first_name, last_name, street1, street2, city, state, zip, dob, ssn, email, phone, employee_id) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/plangrade/resources/participant.rb', line 5

def self.create(company_id, first_name, last_name, street1, street2, city, state, zip, dob, ssn, email, phone, employee_id)
  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 => ssn, :email => email, :phone => phone, :employee_id => employee_id)
  return nil unless result.created?
  id = result.headers[:location].split('/').last.to_i
  new(:id => id)
end

.get(id) ⇒ Object



15
16
17
18
19
# File 'lib/plangrade/resources/participant.rb', line 15

def self.get(id)
  result = api_handler.get_participant(id)
  return nil unless result.success?
  new(result.body[:participant])
end

Instance Method Details

#archive!Object



28
29
30
31
32
# File 'lib/plangrade/resources/participant.rb', line 28

def archive!
  result = api_handler.archive_participant(@id)
  return nil unless result.success?
  new(result.body)
end

#update!(params) ⇒ Object



34
35
36
# File 'lib/plangrade/resources/participant.rb', line 34

def update!(params)
  api_handler.update_participant(@id, params)
end