Class: LessNeglectApi::Client
- Inherits:
-
Object
- Object
- LessNeglectApi::Client
- Defined in:
- lib/lessneglect.rb,
lib/lessneglect/methods.rb,
lib/lessneglect/api_helpers.rb
Instance Method Summary collapse
- #create_action_event(person, action_event) ⇒ Object
- #create_message(person, message) ⇒ Object
- #get_request(method, params = {}) ⇒ Object
-
#initialize(opts = {}) ⇒ Client
constructor
A new instance of Client.
- #post_request(method, params = {}) ⇒ Object
- #tickets ⇒ Object
- #update_person(person) ⇒ Object
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 (person, ) params = { :person => person.as_json, :event => .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 |
#tickets ⇒ Object
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 |