Class: EngagingNetworks::API
- Inherits:
-
Vertebrae::API
- Object
- Vertebrae::API
- EngagingNetworks::API
- Defined in:
- lib/engaging_networks/api.rb
Direct Known Subclasses
Instance Method Summary collapse
- #default_options ⇒ Object
-
#extract_data_from_params(params) ⇒ Object
:nodoc:.
-
#post_request_with_get_params(path, get_params, post_data, options = {}) ⇒ Object
:nodoc:.
-
#request_with_options(method, path, params, options) ⇒ Object
:nodoc:.
- #request_with_wrapper(*args) ⇒ Object
- #setup ⇒ Object
Instance Method Details
#default_options ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/engaging_networks/api.rb', line 11 def { user_agent: 'EngagingNetworksGem', host: 'e-activist.com', content_type: 'application/x-www-form-urlencoded' } end |
#extract_data_from_params(params) ⇒ Object
:nodoc:
19 20 21 22 23 24 25 |
# File 'lib/engaging_networks/api.rb', line 19 def extract_data_from_params(params) # :nodoc: if params.has_key?('data') && params['data'].present? return params['data'] else return params end end |
#post_request_with_get_params(path, get_params, post_data, options = {}) ⇒ Object
:nodoc:
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/engaging_networks/api.rb', line 68 def post_request_with_get_params(path, get_params, post_data, ={}) # :nodoc: method = :post if !::Vertebrae::Request::METHODS.include?(method) raise ArgumentError, "unknown http method: #{method}" end path = connection.configuration.prefix + '/' + path ::Vertebrae::Base.logger.debug "EXECUTED: #{method} - #{path}? #{get_params} with #{post_data} and #{}" connection.connection.send(method) do |request| case method.to_sym when *(::Vertebrae::Request::METHODS - ::Vertebrae::Request::METHODS_WITH_BODIES) request.body = get_params.delete('data') if get_params.has_key?('data') request.url(path, get_params) when *::Vertebrae::Request::METHODS_WITH_BODIES request.path = path request.body = extract_data_from_params(post_data) unless post_data.empty? request.url(path, get_params) end end end |
#request_with_options(method, path, params, options) ⇒ Object
:nodoc:
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/engaging_networks/api.rb', line 47 def (method, path, params, ) # :nodoc: if !::Vertebrae::Request::METHODS.include?(method) raise ArgumentError, "unknown http method: #{method}" end connection. = .merge() path = connection.configuration.prefix + '/' + path ::Vertebrae::Base.logger.debug "EXECUTED: #{method} - #{path} with #{params} and #{}" connection.connection.send(method) do |request| case method.to_sym when *(::Vertebrae::Request::METHODS - ::Vertebrae::Request::METHODS_WITH_BODIES) request.url(path, params) when *::Vertebrae::Request::METHODS_WITH_BODIES request.path = path request.body = params end end end |
#request_with_wrapper(*args) ⇒ Object
6 7 8 |
# File 'lib/engaging_networks/api.rb', line 6 def request_with_wrapper( *args ) EngagingNetworks::Response::Wrapper.new( request_without_wrapper( *args ) ) end |
#setup ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/engaging_networks/api.rb', line 27 def setup connection.stack do |builder| #request middleware first, in order of importance builder.use EngagingNetworks::Request::MultiTokenAuthentication, :public_token => connection.configuration.[:public_token], :private_token => connection.configuration.[:private_token] builder.use Faraday::Request::Multipart builder.use Faraday::Request::UrlEncoded #response middleware second, in reverse order of importance builder.use FaradayMiddleware::ParseXml, :content_type => /\bxml$/ builder.use Faraday::Response::Logger if ENV['DEBUG'] builder.use EngagingNetworks::Response::RaiseError builder.adapter connection.configuration.adapter end end |