Class: Teodoro::ArquivoData::ChavesValores::Item

Inherits:
Object
  • Object
show all
Defined in:
lib/teodoro/arquivo_data.rb

Defined Under Namespace

Classes: Valor

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Item

Returns a new instance of Item.



127
128
129
130
131
# File 'lib/teodoro/arquivo_data.rb', line 127

def initialize(*args)
  @chave = args[0]
  @valor = Valor.new(args[1], formato: args.size == 1 ? :vazio : args[2])
  @opcoes = args[3] || {}
end

Instance Attribute Details

#chaveObject (readonly)

Returns the value of attribute chave.



133
134
135
# File 'lib/teodoro/arquivo_data.rb', line 133

def chave
  @chave
end

#valorObject (readonly)

Returns the value of attribute valor.



133
134
135
# File 'lib/teodoro/arquivo_data.rb', line 133

def valor
  @valor
end

Instance Method Details

#selecionar?Boolean

Returns:

  • (Boolean)


135
136
137
# File 'lib/teodoro/arquivo_data.rb', line 135

def selecionar?
  !valor.vazio? || opcoes[:manter_se_vazio]
end

#semelhante?(outra_chave) ⇒ Boolean

Returns:

  • (Boolean)


139
140
141
142
143
144
145
# File 'lib/teodoro/arquivo_data.rb', line 139

def semelhante?(outra_chave)
  chave.match?(/_\d+_/) &&
    [chave, outra_chave]
      .map { _1.gsub(/_\d+_/, '#') }
      .uniq
      .size == 1
end