lib/abank.rb in abank-0.2.4 vs lib/abank.rb in abank-0.2.5

- old
+ new

@@ -7,94 +7,88 @@ require 'abank/rendas' require 'abank/version' # @author Hernani Rodrigues Vaz module Abank - ID = `whoami`.chomp + DR = "/home/#{`whoami`.chomp}/Downloads" class Error < StandardError; end # CLI para carregar folhas calculo comuns no bigquery class CLI < Thor - desc 'tag', 'classifica movimentos no bigquery' - # classifica movimentos no bigquery + desc 'tag', 'classifica movimentos' + # classifica movimentos def tag - Big.new(i: true).mv_classifica + Big.new.mv_classifica end - desc 'rendas', 'atualiza rendas no bigquery' - # atualiza rendas no bigquery - def rendas - Big.new.re_atualiza + desc 'apagamv', 'apaga movimentos' + option :k, banner: 'KEY[,KEY...]', required: true, desc: 'keys movimentos a apagar' + # apaga movimentos + def apagamv + Big.new(k: options[:k]).mv_delete.mv_insert.re_work end - desc 'apaga', 'apaga movimentos no bigquery' - option :k, banner: 'k1[,k2,...]', required: true, - desc: 'Keys movimentos a apagar' - # apaga movimentos no bigquery - def apaga - Big.new(k: options[:k]).mv_apaga + desc 'criact', 'cria contrato arrendamento' + option :c, banner: 'CONTRATO', required: true, desc: 'Identificador contrato arrendamento' + option :t, type: :boolean, default: true, desc: 'cria todas as rendas?' + option :d, banner: 'DATA', default: '', desc: 'data contrato arrendamento' + # cria contrato arrendamento + def criact + Big.new(c: options[:c], t: options[:t], d: options[:d]).ct_cria end - desc 'load', 'carrega dados da folha calculo no bigquery' - option :d, banner: 'DIR', default: "/home/#{ID}/Downloads", - desc: 'Onde procurar folhas calculo' - option :v, banner: 'DATA', default: '', - desc: 'data valor para movimentos a carregar' - option :g, banner: 'TAG', default: '', - desc: 'classificacao para movimentos a carregar' - option :s, type: :boolean, default: false, - desc: 'apaga linha similar no bigquery' - option :e, type: :boolean, default: false, - desc: 'apaga linha igual no bigquery' - option :m, type: :boolean, default: false, - desc: 'apaga linhas existencia multipla no bigquery' + desc 'apagact', 'apaga contrato arrendamento' + option :c, banner: 'CONTRATO', required: true, desc: 'Identificador contrato arrendamento' + option :t, type: :boolean, default: false, desc: 'apaga todas as rendas?' + # apaga contrato arrendamento + def apagact + Big.new(c: options[:c], t: options[:t]).ct_apaga + end + + desc 'recriact', 'atualiza rendas de contrato arrendamento' + option :c, banner: 'CONTRATO', required: true, desc: 'Identificador contrato arrendamento' + option :t, type: :boolean, default: false, desc: 'apaga todas as rendas?' + option :d, banner: 'DATA', default: '', desc: 'data contrato arrendamento' + # atualiza rendas de contrato arrendamento + def recriact + Big.new(c: options[:c], t: options[:t]).ct_apaga + Big.new(c: options[:c], t: true, d: options[:d]).ct_cria + end + + desc 'recriare', 'atualiza rendas dos contratos ativos' + option :t, type: :boolean, default: false, desc: 'atualiza todas as rendas?' + # atualiza rendas dos contratos ativos + def recriare + Big.new(t: options[:t]).re_atualiza + end + + desc 'load', 'carrega dados da folha calculo' + option :s, type: :boolean, default: false, desc: 'apaga movimento similar' + option :e, type: :boolean, default: false, desc: 'apaga movimento igual' + option :v, banner: 'DATA', default: '', desc: 'data valor para movimentos a carregar' + option :g, banner: 'TAG', default: '', desc: 'classificacao para movimentos a carregar' # carrega folha calculo def load - Dir.glob("#{options[:d]}/*.xlsx").sort.each do |f| - Big::Folha.new(f, load_ops).processa_folha + Dir.glob("#{DR}/*.xlsx").sort.each do |f| + Big::Folha.new(load_opc.merge(f: f)).processa_xls end end desc 'show', 'mostra dados da folha calculo' - option :d, banner: 'DIR', default: "/home/#{ID}/Downloads", - desc: 'Onde procurar folhas calculo' # mostra folha calculo def show - Dir.glob("#{options[:d]}/*.xlsx").sort.each do |f| - Big::Folha.new(f).processa_folha + Dir.glob("#{DR}/*.xlsx").sort.each do |f| + Big::Folha.new(f: f).processa_xls end end - desc 'criare', 'cria contrato arrendamento/rendas no bigquery' - option :c, banner: 'CONTRATO', required: true, - desc: 'Identificador contrato arrendamento a criar' - option :t, type: :boolean, default: true, - desc: 'cria todas as rendas?' - option :v, banner: 'DATA', default: '', - desc: 'data contrato arrendamento a criar' - # cria contrato arrendamento/rendas no bigquery - def criare - Big::Contrato.new(options[:c], { t: options[:t], v: options[:v] }).re_cria - end - - desc 'apagare', 'apaga contrato arrendamento/rendas no bigquery' - option :c, banner: 'CONTRATO', required: true, - desc: 'Identificador contrato arrendamento a apagar' - option :t, type: :boolean, default: false, - desc: 'apaga todas as rendas?' - # apaga contrato arrendamento/rendas no bigquery - def apagare - Big::Contrato.new(options[:c], { t: options[:t], v: '' }).re_apaga - end - no_commands do - # @return [Hash] opcoes trabalho com linhas para load - def load_ops - { s: options[:s], e: options[:e], m: options[:m], i: true, - v: options[:v], g: options[:g] } + # @return [Hash] opcoes trabalho com movimentos para load + def load_opc + { s: options[:s], e: options[:e], i: true, v: options[:v], g: options[:g] } end end - default_task :rendas + default_task :show end end