lib/cns/greymass2.rb in cns-0.1.1 vs lib/cns/greymass2.rb in cns-0.1.2

- old
+ new

@@ -1,79 +1,80 @@ # frozen_string_literal: true # @author Hernani Rodrigues Vaz module Cns - # classe para processar carteiras & transacoes + # classe para processar transacoes do greymass class Greymass + # @return [String] texto carteiras & transacoes & ajuste dias + def mostra_resumo + return unless dados.count.positive? + + puts("\naddress greymass ntx bigquery ntx") + dados.each { |e| puts(formata_carteira(e)) } + mostra_transacoes_novas + mostra_configuracao_ajuste_dias + end + # @param [Hash] hjn dados juntos bigquery & greymass # @return [String] texto formatado duma carteira def formata_carteira(hjn) format( '%<s1>-12.12s %<v1>14.4f %<n1>4i %<v2>14.4f %<n2>4i %<ok>-3s', s1: hjn[:ax], - v1: hjn[:bs], - n1: hjn[:bt].count, - v2: hjn[:es], - n2: hjn[:et].count, + v1: hjn[:es], + n1: hjn[:et].count, + v2: hjn[:bs], + n2: hjn[:bt].count, ok: ok?(hjn) ? 'OK' : 'NOK' ) end # @param (see formata_carteira) # @return [Boolean] carteira tem transacoes novas(sim=NOK, nao=OK)? def ok?(hjn) hjn[:bs] == hjn[:es] && hjn[:bt].count == hjn[:et].count end - # @param [Hash] htx transacao - # @return [String] texto formatado transacao - def formata_transacao(htx) + # @example (see Apibc#ledger_gm) + # @param [Hash] hlx ledger greymass + # @return [String] texto formatado ledger greymass + def formata_ledger(hlx) format( '%<bn>12i %<fr>-12.12s %<to>-12.12s %<ac>-10.10s %<dt>10.10s %<vl>12.4f %<sy>-6.6s', - bn: htx[:itx], - fr: act_data(htx)[:from], - to: act_data(htx)[:to], - ac: act(htx)[:name], - dt: Date.parse(htx[:block_time]), - vl: act_data_quantity(htx).to_d, - sy: act_data_quantity(htx)[/[[:upper:]]+/] + bn: hlx[:itx], + fr: act_data(hlx)[:from], + to: act_data(hlx)[:to], + ac: act(hlx)[:name], + dt: Date.parse(hlx[:block_time]), + vl: act_data_quantity(hlx).to_d, + sy: act_data_quantity(hlx)[/[[:upper:]]+/] ) end - # @param (see formata_transacao) + # @param (see formata_ledger) # @return [Hash] dados da acao - def act(htx) - htx[:action_trace][:act] + def act(hlx) + hlx[:action_trace][:act] end - # @param (see formata_transacao) + # @param (see formata_ledger) # @return [Hash] dados da acao - def act_data(htx) - act(htx)[:data] + def act_data(hlx) + act(hlx)[:data] end - # @param (see formata_transacao) + # @param (see formata_ledger) # @return [String] dados da quantidade - def act_data_quantity(htx) - act_data(htx)[:quantity].to_s + def act_data_quantity(hlx) + act_data(hlx)[:quantity].to_s end - # @return [String] texto carteiras & transacoes & ajuste dias - def mostra_resumo - return unless dados.count.positive? - - puts("\naddress bigquery ntx greymass ntx") - dados.each { |e| puts(formata_carteira(e)) } - mostra_transacoes_novas - mostra_configuracao_ajuste_dias - end - # @return [String] texto transacoes def mostra_transacoes_novas return unless ops[:v] && novax.count.positive? puts("\nsequence num from to accao data valor moeda") - sorax.each { |e| puts(formata_transacao(e)) } + sorax.each { |e| puts(formata_ledger(e)) } end # @return [String] texto configuracao ajuste dias das transacoes def mostra_configuracao_ajuste_dias return unless novax.count.positive?