class Khipu::BaseObject

base class containing fundamental method such as to_hash, build_from_hash and more

Public Instance Methods

_deserialize(type, value) click to toggle source
# File lib/khipu-api-client/models/base_object.rb, line 27
def _deserialize(type, value)
  case type.to_sym
  when :DateTime
    DateTime.parse(value)
  when :Date
    Date.parse(value)
  when :String
    value.to_s
  when :Integer
    value.to_i
  when :Float
    value.to_f
  when :BOOLEAN
    if value == true || value =~ /^(true|t|yes|y|1)$/i
      true
    else
      false
    end
  else # model
    _model = Khipu.const_get(type).new
    _model.build_from_hash(value)
  end
end
_to_hash(value) click to toggle source

Method to output non-array value in the form of hash For object, use to_hash. Otherwise, just return the value

# File lib/khipu-api-client/models/base_object.rb, line 78
def _to_hash(value)
  if value.respond_to? :to_hash
    value.to_hash
  else
    value
  end
end
build_from_hash(attributes) click to toggle source

build the object from hash

# File lib/khipu-api-client/models/base_object.rb, line 8
def build_from_hash(attributes)
  return nil unless attributes.is_a?(Hash)
  self.class.swagger_types.each_pair do |key, type|
    if type =~ /^Array<(.*)>/i
      if attributes[self.class.attribute_map[key]].is_a?(Array)
        self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
      else
        #TODO show warning in debug mode
      end
    elsif !attributes[self.class.attribute_map[key]].nil?
      self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
    else
      # data not found in attributes(hash), not an issue as the data can be optional
    end
  end

  self
end
to_body() click to toggle source

to_body is an alias to to_body (backward compatibility))

# File lib/khipu-api-client/models/base_object.rb, line 56
def to_body
  to_hash
end
to_hash() click to toggle source

return the object in the form of hash

# File lib/khipu-api-client/models/base_object.rb, line 61
def to_hash
  hash = {}
  attributes = self.class.attribute_map.sort_by {|key,value| key}
  attributes.each { |attr, param|
    value = self.send(attr)
    next if value.nil?
    if value.is_a?(Array)
      hash[param] = value.compact.map{ |v| _to_hash(v) }
    else
      hash[param] = _to_hash(value)
    end
  }
  hash
end
to_s() click to toggle source
# File lib/khipu-api-client/models/base_object.rb, line 51
def to_s
  to_hash.to_s
end