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'}
  elsif @version.eql?('v2')
    @base_uri = "#{options[:server_url]}/v2"
    @headers = {'Accept' => 'application/json',
       'Content-Type' => 'application/json'}
  else
    raise InvalidApiVersion, 'Couldn\t recognize API version'
  end
end

Public Instance Methods

create_room_config() click to toggle source
# File lib/hipchat/api_version.rb, line 48
def create_room_config
  {
    'v1' => {
      :url => '/rooms/create',
      :body_format => :to_hash
    },
    'v2' => {
      :url => '/room',
      :body_format => :to_json
    }
  }[version]
end
create_user_config() click to toggle source
# File lib/hipchat/api_version.rb, line 61
def create_user_config
  {
    'v1' => {
      :url => '/users/create',
      :body_format => :to_hash
    },
    'v2' => {
      :url => '/user',
      :body_format => :to_json
    }
  }[version]
end
rooms_config() click to toggle source
# File lib/hipchat/api_version.rb, line 34
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 74
def users_config
  {
    'v1' => {
      :url => '/users/list',
      :data_key => 'users'
    },
    'v2' => {
      :url => '/user',
      :data_key => 'items'
    }
  }[version]
end