class Infusionsoft::Api::Model::ContactGroupAssign

Public Instance Methods

all(query = {}, paginate = true, page_number = 0) click to toggle source
Calls superclass method Infusionsoft::Api::Model::Base#all
# File lib/infusionsoft/api/models/contact_group_assign.rb, line 6
def all(query = {}, paginate = true, page_number = 0)
  results = super(query, paginate, page_number)
  results.map{|x|{
    'Id'           => x['ContactId'],
    'GroupId'      => x['GroupId'],
    'FirstName'    => x['Contact.FirstName'],
    'LastName'     => x['Contact.LastName'],
    'Company'      => x['Contact.Company'],
    'Email'        => x['Contact.Email'],
    'ContactGroup' => x['ContactGroup'],
  }}
end
create(data = {}) click to toggle source
# File lib/infusionsoft/api/models/contact_group_assign.rb, line 19
def create(data = {})
  data = standardise_query(data)
  @client.connection.call('ContactService.addToGroup', @client.api_key, data[:ContactId], data[:GroupId])
end
delete(query = {}) click to toggle source
# File lib/infusionsoft/api/models/contact_group_assign.rb, line 24
def delete(query = {})
  query = standardise_query(query)
  if query[:ContactId] && query[:GroupId]
    @client.connection.call('ContactService.removeFromGroup', @client.api_key, query[:ContactId], query[:GroupId])
  else
    self.all(query).each do |data|
      self.delete({
        :ContactId => data['Id'],
        :GroupId   => data['GroupId'],
      })
    end
  end
end
fields() click to toggle source
# File lib/infusionsoft/api/models/contact_group_assign.rb, line 38
def fields
  [:'ContactGroup', :'ContactId', :'GroupId', :'Contact.FirstName', :'Contact.LastName', :'Contact.Company', :'Contact.Email']
end

Private Instance Methods

standardise_query(query = {}) click to toggle source
# File lib/infusionsoft/api/models/contact_group_assign.rb, line 44
def standardise_query(query = {})
  if query['ContactId'] && query['GroupId']
    query[:ContactId] = query['ContactId']
    query[:GroupId]   = query['GroupId']
  end
  query
end