class GrowthPush::Connection
Constants
- METHODS
A Set of allowed HTTP verbs.
Attributes
headers[R]
is_auth[R]
params[R]
Public Class Methods
new(params={})
click to toggle source
# File lib/growth_push/connection.rb, line 10 def initialize(params={}) user_agent = params.delete(:user_agent) @headers = setup_headers(user_agent) @headers["User-Agent"] ||= "GrowthPush Ruby Library v#{VERSION}" @params = setup_params(params) end
Public Instance Methods
get(endpoint)
click to toggle source
# File lib/growth_push/connection.rb, line 17 def get(endpoint) request(:get, endpoint) end
post(endpoint)
click to toggle source
# File lib/growth_push/connection.rb, line 21 def post(endpoint) request(:post, endpoint) end
put(endpoint)
click to toggle source
# File lib/growth_push/connection.rb, line 25 def put(endpoint) request(:put, endpoint) end
request(method, endpoint)
click to toggle source
# File lib/growth_push/connection.rb, line 29 def request(method, endpoint) raise ArgumentError, "unknown HTTP method: #{method}" unless METHODS.include?(method) request = Request.new(method, "#{GrowthPush.configuration.api_version}/#{endpoint}", headers, params) response = http.start do |http| http.request request.create end Response.handle(response) end
Private Instance Methods
http()
click to toggle source
# File lib/growth_push/connection.rb, line 42 def http use_ssl = ssl? http = Net::HTTP.new( GrowthPush.configuration.api_host, use_ssl ? 443 : 80 ) http.use_ssl = use_ssl http end
setup_headers(user_agent=nil, headers={})
click to toggle source
# File lib/growth_push/connection.rb, line 52 def setup_headers(user_agent=nil, headers={}) headers["User-Agent"] = user_agent if user_agent headers end
setup_params(params)
click to toggle source
# File lib/growth_push/connection.rb, line 57 def setup_params(params) params[:applicationId] = GrowthPush.configuration.application_id params[:secret] = GrowthPush.configuration.secret params[:environment] = GrowthPush.configuration.environment params end
ssl?()
click to toggle source
# File lib/growth_push/connection.rb, line 64 def ssl? GrowthPush.configuration.use_ssl == true end