class ReadyTalk::ReadyTalkObject
Public Class Methods
new(data, object_key = nil)
click to toggle source
# File lib/readytalk/object.rb, line 4 def initialize(data, object_key = nil) if object_key.nil? @data = data else @data = data[Util.camelize(object_key)] end unless @data.nil? @data.each do |key, _value| name = Util.parameterize(key) self.class.send(:define_method, "#{name}") do value = @data[key] case value when Array value = Util.new_list_object({key => value}, key) @data[key] = value when Hash value = Util.new_helper_object({key => value}, key) @data[key] = value end value end end end end
Protected Class Methods
request(*args)
click to toggle source
# File lib/readytalk/object.rb, line 44 def self.request(*args) verb = args.first path = args[1] end_point = args.last opts = args.size == 4 ? args[2] : {} opts = Util.format_hash(opts) end_point = Util.camelize(end_point) begin response = Operations.request(verb, path, opts) JSON.parse(response)["#{end_point}Result"] rescue => e response = e.response error_data = JSON.parse(response)['errorsResult'] raise ReadyTalkError.new(error_data) end end
Protected Instance Methods
request(*args)
click to toggle source
# File lib/readytalk/object.rb, line 40 def request(*args) self.class.request(*args) end
update_data(data, object_key = nil)
click to toggle source
# File lib/readytalk/object.rb, line 32 def update_data(data, object_key = nil) if object_key.nil? @data = data else @data = data[Util.camelize(object_key)] end end