class HipChat::ApiVersion::Client

Attributes

base_uri[R]
headers[R]
version[R]

Public Class Methods

new(options = {}) click to toggle source
# File lib/hipchat/api_version.rb, line 16
def initialize(options = {})
  # puts options.inspect
  @version = options[:api_version]
  if @version.eql?('v1')
    @base_uri = "#{options[:server_url]}/v1"
    @headers = {'Accept' => 'application/json',
       'Content-Type' => 'application/x-www-form-urlencoded'}
  else
    @base_uri = "#{options[:server_url]}/v2"
    @headers = {'Accept' => 'application/json',
       'Content-Type' => 'application/json'}
  end
end

Public Instance Methods

create_room_config() click to toggle source
# File lib/hipchat/api_version.rb, line 46
def create_room_config
  {
    'v1' => {
      :url => '/rooms/create',
      :body_format => :to_hash
    },
    'v2' => {
      :url => '/room',
      :body_format => :to_json
    }
  }[version]
end
rooms_config() click to toggle source
# File lib/hipchat/api_version.rb, line 32
def rooms_config
  {
    'v1' => {
      :url => '/rooms/list',
      :data_key => 'rooms'
    },
    'v2' => {
      :url => '/room',
      :data_key => 'items'
    }
  }[version]
end
users_config() click to toggle source
# File lib/hipchat/api_version.rb, line 59
def users_config
  {
    :url => '/user',
    :data_key => 'items'
  }
end