class FreshdeskApiclient::REST::Client
Constants
- RESOURCES
Public Class Methods
new(domain: FreshdeskApiclient.domain, username_or_api_key: FreshdeskApiclient.username_or_api_key, password: FreshdeskApiclient.password, logger: FreshdeskApiclient.logger)
click to toggle source
@param [String] domain @param [String] username_or_api_key @param [String] password @param [Logger] logger
# File lib/freshdesk_apiclient/rest/client.rb, line 17 def initialize(domain: FreshdeskApiclient.domain, username_or_api_key: FreshdeskApiclient.username_or_api_key, password: FreshdeskApiclient.password, logger: FreshdeskApiclient.logger) @base_url = "https://#{domain}.freshdesk.com/api/v2/" @credentials = {user: username_or_api_key, password: password} @logger = logger end
Public Instance Methods
method_missing(symbol, *arguments, &block)
click to toggle source
obj.method_missing(symbol [, *args] ) -> result
Calls superclass method
# File lib/freshdesk_apiclient/rest/client.rb, line 26 def method_missing(symbol, *arguments, &block) RESOURCES.include?(symbol) ? instance_variable(symbol) : super end
respond_to_missing?(method, *)
click to toggle source
Calls superclass method
# File lib/freshdesk_apiclient/rest/client.rb, line 30 def respond_to_missing?(method, *) RESOURCES.include?(method) ? true : super end
Private Instance Methods
as_ivar(name)
click to toggle source
# File lib/freshdesk_apiclient/rest/client.rb, line 50 def as_ivar(name) "@#{name.downcase}" end
get_set_ivar(class_name, ivar)
click to toggle source
# File lib/freshdesk_apiclient/rest/client.rb, line 41 def get_set_ivar(class_name, ivar) instance_variable_defined?(ivar) ? instance_variable_get(ivar) : set(ivar, class_name) end
instance_variable(symbol)
click to toggle source
# File lib/freshdesk_apiclient/rest/client.rb, line 36 def instance_variable(symbol) class_name = FreshdeskApiclient::Utils::Camelizable.camelize symbol get_set_ivar class_name, as_ivar(class_name) end
set(ivar, class_name)
click to toggle source
# File lib/freshdesk_apiclient/rest/client.rb, line 45 def set(ivar, class_name) obj = ModelFactory.new.instantiate class_name, @base_url, credentials: @credentials, logger: logger instance_variable_set ivar, obj end