turbot-api 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- M2RmZWNmYTlkNTJlNzc1YTk3NzUzMGZlNDVmMzVlMzM0M2I3NWUyNw==
4
+ NjU2MDg2NjAxMmU0NjYxYTk2ODY2Y2UxYWJiZDBhZWUxMThkY2ZhNw==
5
5
  data.tar.gz: !binary |-
6
- YzQyOTg0ZDQzZjY1OTNiMDBkYjI2ZWNiMDUyMDhlNGNmMzkyZmRkZg==
6
+ MThmYjQ4MmFhYTVjYjFmMDk2NmFjNzE0YjA1NzJjODA4YzQxOTNkNQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OWVjYjE2Y2ViYmVkNmUwYWJhMzQ1YzE1MWJjMjYwMzM0MzMxMTBhMmIxMmE0
10
- ODhmMjIyNjNkYmQxZTg1MGFiYzQ2ZWU4N2IzNWQyOTNjOWRiYmNjOWMwMmRj
11
- ODBlM2NjMTQ4ZTE1M2ZlNmQ1ZjdiYzY3ZTk0YmRjZTE4N2ExZGI=
9
+ NTA4NDAzNDNlZWE0ZTY1YjJmMGZmZTljZTAzNDExMmU1YTVkNzczYmJiMjMz
10
+ NTlhNmUzOGVlZDBjMjUxZGRiZmUxY2I2ZGViNDE2ZDNlZDNjZDIwYTlmZjY5
11
+ YmVmYzAxY2RkZTA4MTZmZTllNjc3NTY5YmMxZTQwYWZkNzgyNDQ=
12
12
  data.tar.gz: !binary |-
13
- NmM1NWVhNDJjNTllNTVhZWQ4NDIxZjg2NDFjNzVjMWIxNGI4M2E1YzEzODVm
14
- ZWY2NDVjNjhhYjNjNTcxN2UzNDU2NDNjZjVhODI5Y2JlM2JlYTE1MDJlZGRl
15
- NGM0OTU2YTU4YTJjZmQzNTMyZTVhYjA3NzNlMzYzODhiMDNhM2E=
13
+ MmI2NjA4OGYzY2M5YjMyMTFjZmZhYjVkYjBlMzc4MzNhMjEyOGMyMWU4M2Qz
14
+ Y2ZhYWM0OGRjYzBiMDdkOTIxYWNhMDJlZDIwZTdmNDBkYmQ0NGQyYjAxMjM3
15
+ MWMxZDhlODRmNDE4ZTI0NzY3ZTcwNzhhMjk5MjljNzkwMzYwY2I=
@@ -103,18 +103,35 @@ module Turbot
103
103
  url = @routes.url_helpers.send("api_#{named_route}_url", :bot_id => params[:bot_id])
104
104
  end
105
105
 
106
- if method == :get
107
- response = RestClient.send(method, url, :params => params.merge(:api_key => @api_key))
108
- else
109
- response = RestClient.send(method, url, params.merge(:api_key => @api_key))
106
+ begin
107
+ if method == :get
108
+ response = RestClient.send(method, url, :params => params.merge(:api_key => @api_key))
109
+ else
110
+ response = RestClient.send(method, url, params.merge(:api_key => @api_key))
111
+ end
112
+ SuccessResponse.new(response)
113
+ rescue RestClient::Exception => e
114
+ FailureResponse.new(e.response)
115
+ end
116
+ end
117
+
118
+ class SuccessResponse
119
+ attr_reader :message, :data
120
+
121
+ def initialize(response)
122
+ data = JSON.parse(response.body, :symbolize_names => true)
123
+ @message = data[:message]
124
+ @data = data[:data]
110
125
  end
126
+ end
127
+
128
+ class FailureResponse
129
+ attr_reader :message, :data
111
130
 
112
- # TODO work out what to do here - wrap response in APIResponse?
113
- debugger
114
- if response.body.blank?
115
- {}
116
- else
117
- JSON.parse(response.body)
131
+ def initialize(response)
132
+ data = JSON.parse(response.body, :symbolize_names => true)
133
+ @error_code = data[:error_code]
134
+ @message = data[:message]
118
135
  end
119
136
  end
120
137
  end
@@ -1,3 +1,3 @@
1
1
  module Turbot
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: turbot-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Turbot