class Pwush::Client

Public Class Methods

new(options) click to toggle source
# File lib/pwush/client.rb, line 13
def initialize(options)
  @config = Config.new(options)
end

Private Instance Methods

build_request(payload = nil) click to toggle source
# File lib/pwush/client.rb, line 42
def build_request(payload = nil)
  Request.new(auth: @config.auth, app: @config.app, payload: payload)
end
get(action, payload = nil) click to toggle source
# File lib/pwush/client.rb, line 19
def get(action, payload = nil)
  perform_request(:get, action, payload)
end
perform_request(verb, action, payload) click to toggle source
# File lib/pwush/client.rb, line 27
def perform_request(verb, action, payload)
  Response.wrap { raw_request(verb, action, payload) }
end
post(action, payload = nil) click to toggle source
# File lib/pwush/client.rb, line 23
def post(action, payload = nil)
  perform_request(:post, action, payload)
end
raw_request(verb, action, payload) click to toggle source
# File lib/pwush/client.rb, line 31
def raw_request(verb, action, payload)
  request = build_request(payload)
  url     = url(action)

  @config.logger.info(
    "Pushwoosh #{verb.upcase} #{url} BODY #{request.body.to_json}"
  )

  HTTP.timeout(@config.timeout).request(verb, url, json: request.body)
end
url(action) click to toggle source
# File lib/pwush/client.rb, line 46
def url(action)
  [@config.url, action].join('/')
end