lib/eost/folhacalculo.rb in eost-0.1.3 vs lib/eost/folhacalculo.rb in eost-0.1.4
- old
+ new
@@ -1,32 +1,38 @@
# frozen_string_literal: true
module Eost
- HT = %w[block_num block_time contract action \
+ HT = %w[block_num block_time contract action
from to amount symbol memo data].freeze
- RF = '%<v3>-50.50s %<v4>8.2f'
+ R1 = '%<v3>-12.12s %<v4>s %<v5>-12.12s %<v6>-12.12s'
+ R2 = '%<v7>10.5f %<v8>-10.10s'
# folhas calculo comuns no bigquery
class Bigquery
- # prepara linha folha calculo para processamento
- #
- # @param [Hash] has da linha em processamento
- def corrige_hash(has)
- @row = has.values
- @row[2] = row[2].strip
- @row[3] = -1 * row[3] if num > 1
+ # @return [String] linha folha calculo formatada
+ def row_str
+ "#{row[0]} #{DateTime.parse(row[1]).strftime(DF)} " + row_r1 + row_r2
end
+ # @return [String] linha folha calculo formatada
+ def row_r1
+ format(R1, v3: row[2], v4: row[3], v5: row[4], v6: row[5])
+ end
+
+ # @return [String] linha folha calculo formatada
+ def row_r2
+ format(R2, v7: row[6], v8: row[7])
+ end
+
# processa linhas folha calculo
def processa
n = 0
# usada somente a primeira sheet
book.sheet(0).parse(header_search: HT) do |r|
n += 1
puts n == 1 ? "\n" + book.info : processa_row(r)
end
- sql_update
end
# mostra linhas folha calculo
def show
n = 0
@@ -37,59 +43,41 @@
end
end
# processa linha folha calculo para arquivo
#
- # @param (see corrige_hash)
+ # @param (see show_row)
# @return [String] linha folha calculo processada
def processa_row(has)
- corrige_hash(has)
+ @row = has.values
sql_select
if rnaoexiste? then row_str + (sql_insert == 1 ? ' NOVA' : ' ERRO')
- elsif rsimila? then row_similar
elsif rexiste? then row_existente
end
end
# obtem linha folha calculo para apresentacao
#
- # @param (see corrige_hash)
+ # @param [Hash] has da linha em processamento
# @return (see row_str)
def show_row(has)
- corrige_hash(has)
+ @row = has.values
row_str
end
- # @return [String] linha folha calculo formatada
- def row_str
- "#{row[0].strftime(DF)} #{row[1].strftime(DF)} " \
- "#{format(RF, v3: row[2], v4: row[3])}"
- end
-
- # @return [String] linha folha calculo similar
- def row_similar
- d = apaga['s'] ? sql_delete : 0
- row_str + " SIMILAR#{d.zero? ? ' ' : ' APAGADA '}#{sql.first[:ds].strip}"
- end
-
# @return [String] linha folha calculo existente
def row_existente
- d = apaga['e'] ? sql_delete : 0
+ d = apaga ? sql_delete : 0
row_str + " EXISTENTE#{d.zero? ? '' : ' APAGADA'}"
end
# @return [Boolean] linha folha calculo nao existe no bigquery?
def rnaoexiste?
sql.count.zero?
end
# @return [Boolean] linha folha calculo existe no bigquery?
def rexiste?
- sql.count == 1 && sql.first[:ds].strip == row[2]
- end
-
- # @return [Boolean] linha folha calculo parecida no bigquery?
- def rsimila?
- sql.count == 1 && sql.first[:ds].strip != row[2]
+ sql.count == 1
end
end
end