Class: TransparenciaBrasil::Identity::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/transparencia_brasil/identity/base.rb

Direct Known Subclasses

Excelencia

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attrs = {}) ⇒ Base

Initializes a new object

Parameters:

  • attrs (Hash) (defaults to: {})


21
22
23
24
# File 'lib/transparencia_brasil/identity/base.rb', line 21

def initialize(attrs={})
  attrs = attrs.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
  @attrs = attrs
end

Class Method Details

.attr_reader(*attrs) ⇒ Object

Define methods that retrieve the value from an initialized instance variable Hash, using the attribute as a key

Parameters:

  • attrs (Array, Set, Symbol)


7
8
9
10
11
12
13
14
15
16
# File 'lib/transparencia_brasil/identity/base.rb', line 7

def self.attr_reader(*attrs)
  mod = Module.new do
    attrs.each do |attribute|
      define_method attribute do
        @attrs[attribute.to_sym]
      end
    end
  end
  include mod
end