class SmsGlobal::Object::Response

Attributes

results[R]

Public Class Methods

deleted?(status) click to toggle source
# File lib/sms_global/object/response.rb, line 23
def self.deleted?(status)
  status == 204
end
new(response) click to toggle source
# File lib/sms_global/object/response.rb, line 8
def initialize(response)
  @results = nil
  if !response.blank?
    @response = JSON.parse(response, symbolize_names: true)
    if @response.has_key?(:value)
      @response = @response[:value]
    end
    process
  end
end
success?(status) click to toggle source
# File lib/sms_global/object/response.rb, line 19
def self.success?(status)
  status == 200 || status == 201
end
unauthorized?(status) click to toggle source
# File lib/sms_global/object/response.rb, line 27
def self.unauthorized?(status)
  status == 401
end

Private Instance Methods

convert(data) click to toggle source
# File lib/sms_global/object/response.rb, line 44
def convert(data)
  result = {}    
  data.each do |key, value|
    if value.is_a?(Hash)
      result[convert_to_snake_case_symbol(key)] = convert(value)
    else
      result[convert_to_snake_case_symbol(key)] = value
    end
  end

  return result
end
convert_to_snake_case_symbol(value) click to toggle source
# File lib/sms_global/object/response.rb, line 57
def convert_to_snake_case_symbol(value)
  value.to_s.to_snake_case.to_sym
end
process() click to toggle source
# File lib/sms_global/object/response.rb, line 33
def process
  if @response.is_a?(Array)
    @results = []
    @response.each do |data|
      @results << convert(data)
    end
  elsif @response.is_a?(Hash)
    @results = convert(@response)
  end
end