# frozen_string_literal: true require('thor') require('eost/bigquery') require('eost/carteiras') require('eost/eosscan') require('eost/folhacalculo') require('eost/formatar') require('eost/version') # @author Hernani Rodrigues Vaz module Eost ID = `whoami`.chomp class Error < StandardError; end # CLI para carregar folhas calculo comuns no bigquery class CLI < Thor desc 'workfc', 'carrega/apaga dados da folha calculo' option :d, banner: 'DIR', default: "/home/#{ID}/Downloads", desc: 'Onde procurar folhas calculo' option :x, banner: 'EXT', default: '.csv', desc: 'Extensao das folhas calculo' option :e, type: :boolean, default: false, desc: 'apaga linha igual' option :m, type: :boolean, default: false, desc: 'apaga linhas existencia multipla' # processa folha calculo def workfc Dir.glob("#{options[:d]}/*#{options[:x]}").sort.each do |f| Bigquery.new(f, { e: options[:e], m: options[:m], i: true }).processa_csv end end desc 'showfc', 'mostra dados da folha calculo' option :d, banner: 'DIR', default: "/home/#{ID}/Downloads", desc: 'Onde procurar folhas calculo' option :x, banner: 'EXT', default: '.csv', desc: 'Extensao das folhas calculo' # show folha calculo def showfc Dir.glob("#{options[:d]}/*#{options[:x]}").sort.each do |f| Bigquery.new(f).processa_csv end end desc 'work', 'carrega transacoes novas no bigquery' option :h, type: :hash, default: {}, desc: 'configuracao ajuste reposicionamento temporal' # carrega transacoes novas no bigquery def work Bigquery.new('', options).processa end desc 'show', 'mostra reumo carteiras & transacoes' option :v, type: :boolean, default: false, desc: 'mostra transacoes' option :t, type: :boolean, default: false, desc: 'mostra transacoes todas ou somente novas' # mostra reumo carteiras & transacoes def show Bigquery.new('', options).carteiras.mostra_resumo end default_task :show end end