Class: KhipuChaski::BaseObject

Inherits:
Object
  • Object
show all
Defined in:
lib/khipu-chaski-api-client/models/base_object.rb

Overview

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

Instance Method Summary collapse

Instance Method Details

#_deserialize(type, value) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/khipu-chaski-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 = KhipuChaski.const_get(type).new
    _model.build_from_hash(value)
  end
end

#_to_hash(value) ⇒ Object

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



78
79
80
81
82
83
84
# File 'lib/khipu-chaski-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) ⇒ Object

build the object from hash



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/khipu-chaski-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_bodyObject

to_body is an alias to to_body (backward compatibility))



56
57
58
# File 'lib/khipu-chaski-api-client/models/base_object.rb', line 56

def to_body
  to_hash
end

#to_hashObject

return the object in the form of hash



61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/khipu-chaski-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_sObject



51
52
53
# File 'lib/khipu-chaski-api-client/models/base_object.rb', line 51

def to_s
  to_hash.to_s
end