class HipChat::ApiVersion::Room
Attributes
base_uri[R]
headers[R]
room_id[R]
version[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/hipchat/api_version.rb, line 90 def initialize(options = {}) @version = options[:api_version] options[:room_id] ||= options[get_id_attribute] @room_id = options[:room_id] if @version.eql?('v1') @base_uri = "#{options[:server_url]}/v1/rooms" @headers = {'Accept' => 'application/json', 'Content-Type' => 'application/x-www-form-urlencoded'} else @base_uri = "#{options[:server_url]}/v2/room" @headers = {'Accept' => 'application/json', 'Content-Type' => 'application/json'} end end
Public Instance Methods
add_member_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 158 def add_member_config { 'v2' => { :url => URI::escape("/#{room_id}/member"), :body_format => :to_json } }[version] end
delete_room_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 134 def delete_room_config { 'v1' => { :url => URI::escape("/delete"), :method => :post, :query_params => { :room_id => room_id } }, 'v2' => { :url => URI::escape("/#{room_id}"), :method => :delete, :query_params => {} } }[version] end
get_id_attribute()
click to toggle source
# File lib/hipchat/api_version.rb, line 107 def get_id_attribute version.eql?('v1') ? 'room_id' : 'id' end
get_room_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 111 def get_room_config { 'v1' => { :url => URI::escape('/show'), :query_params => { :room_id => room_id } }, 'v2' => { :url => URI::escape("/#{room_id}"), :query_params => { } } }[version] end
history_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 222 def history_config { 'v1' => { :url => '/history' }, 'v2' => { :url => URI::escape("/#{room_id}/history") } }[version] end
invite_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 149 def invite_config { 'v2' => { :url => URI::escape("/#{room_id}/invite"), :body_format => :to_json } }[version] end
send_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 176 def send_config { 'v1' => { :url => "/message", :body_format => :to_hash }, 'v2' => { :url => URI::escape("/#{room_id}/notification"), :body_format => :to_json } }[version] end
send_file_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 189 def send_file_config { 'v2' => { :url => URI::escape("/#{room_id}/share/file"), :body_format => :to_json } }[version] end
send_message_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 167 def send_message_config { 'v2' => { :url => URI::escape("/#{room_id}/message"), :body_format => :to_json } }[version] end
statistics_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 233 def statistics_config { 'v2' => { :url => URI::escape("/#{room_id}/statistics") } }[version] end
topic_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 207 def topic_config { 'v1' => { :url => '/topic', :method => :post, :body_format => :to_hash }, 'v2' => { :url => URI::escape("/#{room_id}/topic"), :method => :put, :body_format => :to_json } }[version] end
update_room_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 124 def update_room_config { 'v2' => { :url => URI::escape("/#{room_id}"), :method => :put, :body_format => :to_json } }[version] end
webhook_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 241 def webhook_config raise InvalidApiVersion, 'This functionality is not supported in API v1' unless version.eql?('v2') { 'v2' => { :url => URI::escape("/#{room_id}/webhook") } }[version] end