class PushBot::Request

Public Class Methods

new(base) click to toggle source
# File lib/push_bot/request.rb, line 6
def initialize(base)
  @base = base
end

Public Instance Methods

get(name=nil, options={}) click to toggle source
# File lib/push_bot/request.rb, line 10
def get(name=nil, options={})
  request(:get, name, options)
end
post(name, options={}) click to toggle source
# File lib/push_bot/request.rb, line 14
def post(name, options={})
  request(:post, name, options)
end
put(name, options={}) click to toggle source
# File lib/push_bot/request.rb, line 18
def put(name, options={})
  request(:put, name, options)
end

Private Instance Methods

request(type, name, options) click to toggle source
# File lib/push_bot/request.rb, line 24
def request(type, name, options)
  url = "https://api.pushbots.com/#{@base}"
  url << "/#{name}" if name

  request_options = {
    :method => type,
    :body => JSON.dump(options),
    :headers => {
      :'X-PushBots-AppID' => Config.config.id,
      :'X-PushBots-Secret' => Config.config.secret,
      :'Content-Type' => :'application/json'
    }
  }

  if type == :get
    request_options[:headers][:Token] = options[:token]
  end

  request = Typhoeus::Request.new(url, request_options)

  Response.new { request.run }
end