Class: Cloudsight::Request
- Inherits:
-
Object
- Object
- Cloudsight::Request
- Defined in:
- lib/cloudsight/request.rb
Class Method Summary collapse
- .construct_params(options) ⇒ Object
- .repost(token, options = {}) ⇒ Object
- .send(options = {}) ⇒ Object
Class Method Details
.construct_params(options) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/cloudsight/request.rb', line 36 def construct_params() params = {} [:locale, :language, :latitude, :longitude, :altitude, :device_id, :ttl, :focus_x, :focus_y].each do |attr| params[attr.to_s] = [attr] if .has_key?(attr) end if [:focus] params['focus_x'] = [:focus][:x] params['focus_y'] = [:focus][:y] end params['remote_image_url'] = [:url] if .has_key?(:url) params['image'] = [:file] if .has_key?(:file) params end |
.repost(token, options = {}) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/cloudsight/request.rb', line 20 def repost(token, = {}) url = "#{Cloudsight::base_url}/v1/images/#{token}/repost" response = Api.post(url, ) return true if response.code == 200 and response.body.to_s.strip.empty? data = JSON.parse(response.body) raise ResponseException.new(data['error']) if data['error'] raise UnexpectedResponseException.new(response.body) unless data['token'] data rescue JSON::ParserError raise UnexpectedResponseException.new(response.body) end |
.send(options = {}) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/cloudsight/request.rb', line 4 def send( = {}) raise RuntimeError.new("Need to define either oauth_options or api_key") unless Cloudsight.api_key || Cloudsight. url = "#{Cloudsight::base_url}/v1/images" params = construct_params() response = Api.post(url, params) data = JSON.parse(response.body) raise ResponseException.new(data['error']) if data['error'] raise UnexpectedResponseException.new(response.body) unless data['token'] data rescue JSON::ParserError raise UnexpectedResponseException.new(response.body) end |