class BusinessCentral::Object::Response
Attributes
results[R]
Public Class Methods
new(response)
click to toggle source
# File lib/business_central/object/response.rb, line 26 def initialize(response) @results = nil return if response.blank? @response = JSON.parse(response) @response = @response['value'] if @response.key?('value') process end
not_found?(status)
click to toggle source
# File lib/business_central/object/response.rb, line 19 def not_found?(status) status == 404 end
success?(status)
click to toggle source
# File lib/business_central/object/response.rb, line 7 def success?(status) [200, 201].include?(status) end
success_no_content?(status)
click to toggle source
# File lib/business_central/object/response.rb, line 11 def success_no_content?(status) status == 204 end
Private Instance Methods
convert(data)
click to toggle source
# File lib/business_central/object/response.rb, line 50 def convert(data) result = {} data.each do |key, value| if key == '@odata.etag' result[:etag] = value elsif key == '@odata.context' result[:context] = value elsif value.is_a?(Hash) result[key.to_snake_case.to_sym] = convert(value) else result[key.to_snake_case.to_sym] = value end end result end
process()
click to toggle source
# File lib/business_central/object/response.rb, line 37 def process if @response.is_a?(String) @results = @response elsif @response.is_a?(Array) @results = [] @response.each do |data| @results << convert(data) end elsif @response.is_a?(Hash) @results = convert(@response) end end