Class: LessNeglectApi::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/lessneglect.rb,
lib/lessneglect/methods.rb,
lib/lessneglect/api_helpers.rb

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ Client

Returns a new instance of Client.



14
15
16
17
18
19
20
21
22
23
# File 'lib/lessneglect.rb', line 14

def initialize(opts = {})
  @base_url = "https://api.lessneglect.com/api/v2"

  @project_code = opts[:code]
  @project_secret = opts[:secret]

  unless @project_code && @project_secret
    raise StandardError.new "Must specify project code and secret when initalizing the ApiClient"
  end
end

Instance Method Details

#create_action_event(person, action_event) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/lessneglect/methods.rb', line 12

def create_action_event(person, action_event)
	params = {
    :person => person.as_json,
    :event => action_event.as_json
  }

  data = post_request("/events", params)
end

#create_message(person, message) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/lessneglect/methods.rb', line 3

def create_message(person, message)
  params = {
    :person => person.as_json,
    :event => message.as_json
  }
  
  data = post_request("/events", params)
end

#get_request(method, params = {}) ⇒ Object



14
15
16
17
18
19
# File 'lib/lessneglect/api_helpers.rb', line 14

def get_request(method, params={})
  params = sign_request(params)

  res = RestClient.get @base_url + method, { :params => params }
  data = MultiJson.decode(res.body)
end

#post_request(method, params = {}) ⇒ Object



7
8
9
10
11
12
# File 'lib/lessneglect/api_helpers.rb', line 7

def post_request(method, params={})
  params = sign_request(params)
  
  res = RestClient.post @base_url + method, params.to_json, :content_type => :json, :accept => :json
  data = MultiJson.decode(res.body)
end

#ticketsObject



29
30
31
# File 'lib/lessneglect/methods.rb', line 29

def tickets
  data = get_request("/tickets")
end

#update_person(person) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/lessneglect/methods.rb', line 21

def update_person(person)
  params = {
    :person => person.as_json
  }

  data = post_request("/people", params)
end