Class: Apruve::ApruveObject

Inherits:
Object
  • Object
show all
Defined in:
lib/apruve/resources/apruve_object.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ ApruveObject

Returns a new instance of ApruveObject.



5
6
7
8
9
# File 'lib/apruve/resources/apruve_object.rb', line 5

def initialize(args = {})
  args.each do |k, v|
    instance_variable_set("@#{k}".to_sym, v) unless v.nil?
  end
end

Class Method Details

.loggerObject



36
37
38
# File 'lib/apruve/resources/apruve_object.rb', line 36

def self.logger
  Apruve.client.config[:logger]
end

Instance Method Details

#loggerObject



40
41
42
# File 'lib/apruve/resources/apruve_object.rb', line 40

def logger
  Apruve.client.config[:logger]
end

#to_hashObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/apruve/resources/apruve_object.rb', line 15

def to_hash
  validate
  hash = {}
  instance_variables.each do |var|
    if instance_variable_get(var).kind_of?(Array)
      array = []
      instance_variable_get(var).each { |aryvar| array.push(aryvar.to_hash) }
      hash[var.to_s.delete('@')] = array
    else
      hash[var.to_s.delete('@')] = instance_variable_get(var)
    end
  end
  hash.reject! { |k, v| v.nil? }
  hash.reject! { |k, v| k == 'api_key' }
  hash
end

#to_json(*a) ⇒ Object



32
33
34
# File 'lib/apruve/resources/apruve_object.rb', line 32

def to_json(*a)
  to_hash.to_json
end

#validateObject



11
12
13
# File 'lib/apruve/resources/apruve_object.rb', line 11

def validate
  # default implementation.
end