Class: Knackhq::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/knackhq/client.rb,
lib/knackhq/client/version.rb

Constant Summary collapse

VERSION =
'0.3.0'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base_uri, x_knack_application_id, x_knack_rest_api_key) ⇒ Client

Returns a new instance of Client.



9
10
11
12
13
# File 'lib/knackhq/client.rb', line 9

def initialize(base_uri, x_knack_application_id, x_knack_rest_api_key)
  @base_uri = base_uri
  @x_knack_application_id = x_knack_application_id
  @x_knack_rest_api_key = x_knack_rest_api_key
end

Instance Attribute Details

#base_uriObject

Returns the value of attribute base_uri.



7
8
9
# File 'lib/knackhq/client.rb', line 7

def base_uri
  @base_uri
end

#x_knack_application_idObject

Returns the value of attribute x_knack_application_id.



7
8
9
# File 'lib/knackhq/client.rb', line 7

def x_knack_application_id
  @x_knack_application_id
end

#x_knack_rest_api_keyObject

Returns the value of attribute x_knack_rest_api_key.



7
8
9
# File 'lib/knackhq/client.rb', line 7

def x_knack_rest_api_key
  @x_knack_rest_api_key
end

Instance Method Details

#fields(object) ⇒ Object



31
32
33
34
35
36
37
38
# File 'lib/knackhq/client.rb', line 31

def fields(object)
  hash_request = request
                 .objects(object)
                 .fields
                 .get
  payload = payload_hash(hash_request)
  translate_payload(payload) { payload[:fields] }
end

#object(key) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/knackhq/client.rb', line 23

def object(key)
  hash_request = request
                 .objects
                 .get(key)
  payload = payload_hash(hash_request)
  translate_payload(payload) { payload[:object][:fields] }
end

#objectsObject



15
16
17
18
19
20
21
# File 'lib/knackhq/client.rb', line 15

def objects
  hash_request = request
                 .objects
                 .get
  payload = payload_hash(hash_request)
  translate_payload(payload) { payload[:objects] }
end

#record(object, record_knackhq_id) ⇒ Object



52
53
54
55
56
57
58
59
# File 'lib/knackhq/client.rb', line 52

def record(object, record_knackhq_id)
  hash_request = request
                 .objects(object)
                 .records(record_knackhq_id)
                 .get
  payload = payload_hash(hash_request)
  translate_payload(payload) { payload }
end

#records(object, options = {}) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
# File 'lib/knackhq/client.rb', line 40

def records(object, options = {})
  rows_per_page = options[:rows_per_page] || 25
  page_number = options[:page_number] || 1
  hash_request = request
                 .objects(object)
                 .records
                 .get(:params => { :page => page_number,
                                   :rows_per_page => rows_per_page })
  payload = payload_hash(hash_request)
  translate_payload(payload) { payload }
end

#update_record(object, knackhq_id, json) ⇒ Object



61
62
63
64
65
66
67
# File 'lib/knackhq/client.rb', line 61

def update_record(object, knackhq_id, json)
  hash_request = request
                 .objects(object)
                 .records(knackhq_id)
                 .put(:body => json)
  !payload_hash(hash_request).empty?
end