Class: DfeTaxweb::Conjunto

Inherits:
Object
  • Object
show all
Defined in:
lib/dfe_taxweb/conjunto.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(hash) ⇒ Conjunto

Returns a new instance of Conjunto.



8
9
10
11
# File 'lib/dfe_taxweb/conjunto.rb', line 8

def initialize(hash)
  @conjunto = hash.deep_symbolize_keys
  @dados = {}
end

Instance Attribute Details

#conjuntoObject (readonly)

Returns the value of attribute conjunto.



4
5
6
# File 'lib/dfe_taxweb/conjunto.rb', line 4

def conjunto
  @conjunto
end

#dados(key, valor = nil) ⇒ Object

Returns the value of attribute dados.



5
6
7
# File 'lib/dfe_taxweb/conjunto.rb', line 5

def dados
  @dados
end

Instance Method Details

#[](key) ⇒ Object



17
18
19
# File 'lib/dfe_taxweb/conjunto.rb', line 17

def [](key)
  conjunto[key]
end

#atributo(path) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/dfe_taxweb/conjunto.rb', line 29

def atributo(path)
  valor = path.split(".").inject(conjunto) do |item, key|
    next if item.nil?
    if key =~ /\[\d+\]/
      item[key.sub(/\[\d+\]/, '').to_sym][key[/\[(\d+)\]/, 1].to_i]
    else
      item[key.to_sym]
    end
  end

  if valor.is_a?(Array)
    valor.map {|v| normaliza_valores(v)}.compact
  else
    normaliza_valores(valor)
  end
end

#atualizar(hash) ⇒ Object



46
47
48
49
50
51
# File 'lib/dfe_taxweb/conjunto.rb', line 46

def atualizar(hash)
  if hash.is_a?(Hash)
    conjunto.deep_merge!(hash.deep_symbolize_keys)
  end
  self
end

#to_hObject



13
14
15
# File 'lib/dfe_taxweb/conjunto.rb', line 13

def to_h
  conjunto
end