Class: Pdf4me::Base

Inherits:
Object
  • Object
show all
Extended by:
Serializer
Includes:
ActiveModel::Validations, Assigner
Defined in:
lib/pdf4me/models/base.rb

Instance Method Summary collapse

Methods included from Serializer

_deserialize, from_hash, from_response

Methods included from Assigner

#assign_attributes

Constructor Details

#initialize(attrs = {}) ⇒ Base

Returns a new instance of Base.



7
8
9
10
# File 'lib/pdf4me/models/base.rb', line 7

def initialize(attrs = {})
  merged_attrs = defaults.merge(attrs)
  assign_attributes(merged_attrs)
end

Instance Method Details

#attributesObject



16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/pdf4me/models/base.rb', line 16

def attributes
  attrs = self.class::ATTRIBUTES.stringify_keys.keys
  attrs.each_with_object({}) do |attribute, memo|
    value = send(attribute)
    if value.kind_of?(Pdf4me::Base)
      value = value.attributes
    end

    if value.present?
      memo[attribute.camelize(:lower)] = value
    end
  end
end

#defaultsObject



12
13
14
# File 'lib/pdf4me/models/base.rb', line 12

def defaults
  {}
end