lib/eost/folhacalculo.rb in eost-0.1.5 vs lib/eost/folhacalculo.rb in eost-0.1.6
- old
+ new
@@ -1,83 +1,76 @@
# frozen_string_literal: true
module Eost
HT = %w[block_num block_time contract action
from to amount symbol memo data].freeze
- R1 = '%<v3>-12.12s %<v4>s %<v5>-12.12s %<v6>-12.12s'
- R2 = '%<v7>10.5f %<v8>-10.10s'
+ R1 = '%<v3>-12.12s %<v4>-8.8s %<v5>-12.12s %<v6>-12.12s'
+ R2 = '%<v7>10.5f %<v8>-8.8s'
- # folhas calculo comuns no bigquery
+ # trabalhar com folhas calculo bloks.io & dados no bigquery
class Bigquery
- # @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|
+ folha.sheet(0).parse(header_search: HT) do |r|
n += 1
- puts n == 1 ? "\n" + book.info : processa_row(r)
+ puts n == 1 ? "\n" + folha.info : processa_row(r)
end
end
- # mostra linhas folha calculo
- def show
- n = 0
- # usada somente a primeira sheet
- book.sheet(0).parse(header_search: HT) do |r|
- n += 1
- puts n == 1 ? "\n" + book.info : show_row(r)
- end
- end
-
# processa linha folha calculo para arquivo
#
- # @param (see show_row)
- # @return [String] linha folha calculo processada
+ # @param [Hash] has da linha em processamento
+ # @return [String] texto informativo do processamento
def processa_row(has)
@row = has.values
sql_select
- if rnaoexiste? then row_str + (sql_insert == 1 ? ' NOVA' : ' ERRO')
- elsif rexiste? then row_existente
+ if row_naoexiste? then row_str + (sql_insert == 1 ? ' NOVA' : ' ERRO')
+ elsif row_existe? then row_existente
+ else row_multiplas
end
end
- # obtem linha folha calculo para apresentacao
- #
- # @param [Hash] has da linha em processamento
- # @return (see row_str)
- def show_row(has)
- @row = has.values
- row_str
+ # @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].to_f, v8: row[7])
+ end
+
# @return [String] linha folha calculo existente
def row_existente
- d = apaga ? sql_delete : 0
- row_str + " EXISTENTE#{d.zero? ? '' : ' APAGADA'}"
+ d = linha[:e] ? sql_delete : 0
+ row_str + ' EXISTENTE' + str_apagadas(d)
end
+ # @return [String] linha folha calculo existencia multipla
+ def row_multiplas
+ d = linha[:m] ? sql_delete : 0
+ row_str + ' MULTIPLAS ' + sql.count.to_s + str_apagadas(d)
+ end
+
+ # @param [Integer] numero linhas apagadas
+ # @return [String] texto formatado linhas apagadas
+ def str_apagadas(num)
+ num.positive? ? ' & ' + num.to_s + ' APAGADA(S) ' : ' '
+ end
+
# @return [Boolean] linha folha calculo nao existe no bigquery?
- def rnaoexiste?
+ def row_naoexiste?
sql.count.zero?
end
# @return [Boolean] linha folha calculo existe no bigquery?
- def rexiste?
+ def row_existe?
sql.count == 1
end
end
end