class HipChat::ApiVersion::User
Attributes
base_uri[R]
headers[R]
user_id[R]
version[R]
Public Class Methods
new(options)
click to toggle source
# File lib/hipchat/api_version.rb, line 273 def initialize(options) @version = options[:api_version] options[:user_id] ||= options[get_id_attribute] @user_id = options[:user_id] if @version.eql?('v1') @base_uri = "#{options[:server_url]}/v1/users" @headers = {'Accept' => 'application/json', 'Content-Type' => 'application/x-www-form-urlencoded'} else @base_uri = "#{options[:server_url]}/v2/user" @headers = {'Accept' => 'application/json', 'Content-Type' => 'application/json'} end end
Public Instance Methods
delete_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 354 def delete_config { 'v1' => { :url => URI::escape('/delete'), :body_format => :to_json, :query_params => { :user_id => user_id } }, 'v2' => { :url => URI::escape("/#{user_id}"), :body_format => :to_json, :query_params => {} } }[version] end
get_id_attribute()
click to toggle source
# File lib/hipchat/api_version.rb, line 290 def get_id_attribute version.eql?('v1') ? 'user_id' : 'id' end
history_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 369 def history_config raise InvalidApiVersion, 'This functionality is not supported in API v1' unless version.eql?('v2') { :url => URI::escape("/#{user_id}/history/latest"), :body_format => :to_json, :allowed_params => [:'max-results', :timezone, :'not-before'] } end
send_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 294 def send_config raise InvalidApiVersion, 'This functionality is not supported in API v1' unless version.eql?('v2') { :url => URI::escape("/#{user_id}/message"), :body_format => :to_json } end
send_file_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 303 def send_file_config { :url => URI::escape("/#{user_id}/share/file"), :body_format => :to_json } end
user_joined_rooms_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 325 def user_joined_rooms_config raise InvalidApiVersion, 'This functionality is not supported in API v1' unless version.eql?('v2') { 'v2' => { :url => URI::escape("/#{user_id}/preference/auto-join"), :body_format => :to_json, :query_params => {} } }[version] end
user_update_config()
click to toggle source
Same signature as view_config
but separating code to keep any future changes safe
# File lib/hipchat/api_version.rb, line 338 def user_update_config { 'v1' => { :url => URI::escape('/show'), :body_format => :to_json, :query_params => { :user_id => user_id } }, 'v2' => { :url => URI::escape("/#{user_id}"), :body_format => :to_json, :query_params => {} } }[version] end
view_config()
click to toggle source
# File lib/hipchat/api_version.rb, line 310 def view_config { 'v1' => { :url => URI::escape('/show'), :body_format => :to_json, :query_params => { :user_id => user_id } }, 'v2' => { :url => URI::escape("/#{user_id}"), :body_format => :to_json, :query_params => {} } }[version] end