Module: OntraportApi::APIs::Objects

Included in:
Client
Defined in:
lib/ontraport_api/apis/objects.rb

Constant Summary collapse

OBJECTS_API_METHODS_AND_PATHS =
{
  'get_object'                 => [:get,     '/object'],
  'new_object'                 => [:post,    '/objects'],
  'update_object'              => [:put,     '/objects'],
  'get_objects'                => [:get,     '/objects']
}

Instance Method Summary collapse

Instance Method Details

#get_object(id, object_id) ⇒ Object



11
12
13
# File 'lib/ontraport_api/apis/objects.rb', line 11

def get_object(id, object_id)
  query_objects({id: id}, object_id)
end

#get_objects(conditions = {}, object_id) ⇒ Object



23
24
25
26
27
28
29
30
31
32
# File 'lib/ontraport_api/apis/objects.rb', line 23

def get_objects(conditions = {}, object_id)
  conditions = { condition: conditions } if conditions.is_a? String
  default_conditions = {
    performAll: true,
    sortDir: 'asc',
    searchNotes: 'true'
  }
  payload = default_conditions.merge(conditions)
  query_objects(payload, object_id)
end

#new_object(payload = {}, object_id) ⇒ Object



15
16
17
# File 'lib/ontraport_api/apis/objects.rb', line 15

def new_object(payload = {}, object_id)
  query_objects(payload, object_id)
end

#query_objects(payload, object_id) ⇒ Object



34
35
36
37
# File 'lib/ontraport_api/apis/objects.rb', line 34

def query_objects(payload, object_id)
  method, path = OBJECTS_API_METHODS_AND_PATHS[caller[0][/`.*'/][1..-2]]
  query(method, path, payload.merge({ objectID: object_id }))
end

#update_object(id, payload = {}, object_id) ⇒ Object



19
20
21
# File 'lib/ontraport_api/apis/objects.rb', line 19

def update_object(id, payload = {}, object_id)
  query_objects(payload.merge(id: id), object_id)
end