lib/abank.rb in abank-0.2.3 vs lib/abank.rb in abank-0.2.4
- old
+ new
@@ -1,90 +1,100 @@
# frozen_string_literal: true
require 'thor'
-require 'abank/bigquery'
-require 'abank/folhacalculo'
+require 'abank/big'
+require 'abank/contrato'
+require 'abank/folha'
+require 'abank/rendas'
require 'abank/version'
# @author Hernani Rodrigues Vaz
module Abank
ID = `whoami`.chomp
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
+ def tag
+ Big.new(i: true).mv_classifica
+ end
+
+ desc 'rendas', 'atualiza rendas no bigquery'
+ # atualiza rendas no bigquery
+ def rendas
+ Big.new.re_atualiza
+ 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
+ end
+
desc 'load', 'carrega dados da folha calculo no bigquery'
option :d, banner: 'DIR', default: "/home/#{ID}/Downloads",
desc: 'Onde procurar folhas calculo'
- option :x, banner: 'EXT', default: '.xlsx',
- desc: 'Extensao das folhas calculo'
- option :n, banner: 'NUM', type: :numeric, default: 0,
- desc: 'Correcao dias para data valor'
+ 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'
- # processa folha calculo
+ # carrega folha calculo
def load
- Dir.glob("#{options[:d]}/*#{options[:x]}").sort.each do |f|
- Bigquery.new(f, load_ops).processa
+ Dir.glob("#{options[:d]}/*.xlsx").sort.each do |f|
+ Big::Folha.new(f, load_ops).processa_folha
end
end
- desc 'mostra', 'mostra dados da folha calculo'
+ desc 'show', 'mostra dados da folha calculo'
option :d, banner: 'DIR', default: "/home/#{ID}/Downloads",
desc: 'Onde procurar folhas calculo'
- option :x, banner: 'EXT', default: '.xlsx',
- desc: 'Extensao das folhas calculo'
# mostra folha calculo
- def mostra
- Dir.glob("#{options[:d]}/*#{options[:x]}").sort.each do |f|
- Bigquery.new(f).processa
+ def show
+ Dir.glob("#{options[:d]}/*.xlsx").sort.each do |f|
+ Big::Folha.new(f).processa_folha
end
end
- desc 'classifica', 'classifica movimentos no bigquery'
- # classifica movimentos no bigquery
- def classifica
- Bigquery.new('', { i: true }).classifica
+ 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 'atualiza', 'atualiza rendas no arquivo bigquery'
- # atualiza rendas no arquivo bigquery
- def atualiza
- Bigquery.new.atualiza
- end
-
- desc 'cria', 'cria contrato arrendamento/rendas no arquivo bigquery'
- option :r, banner: 'REN', required: true,
- desc: 'identificador contrato arrendamento a criar'
+ 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: 'trabalha com renda inicio ou todas'
- # cria contrato arrendamento/rendas no arquivo bigquery
- def cria
- Bigquery.new('', { r: options[:r], t: options[:t] }).cria
+ 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
- desc 'apaga', 'apaga contrato arrendamento/rendas no arquivo bigquery'
- option :r, banner: 'REN', required: true,
- desc: 'identificador contrato arrendamento a apagar'
- option :t, type: :boolean, default: false,
- desc: 'trabalha com renda inicio ou todas'
- # apaga contrato arrendamento/rendas no arquivo bigquery
- def apaga
- Bigquery.new('', { r: options[:r], t: options[:t] }).apaga
- end
-
no_commands do
- # @return [Hash] ops opcoes trabalho com linhas para load
+ # @return [Hash] opcoes trabalho com linhas para load
def load_ops
- { s: options[:s], e: options[:e], m: options[:m],
- i: true, t: false, n: options[:n], r: '' }
+ { s: options[:s], e: options[:e], m: options[:m], i: true,
+ v: options[:v], g: options[:g] }
end
end
- default_task :mostra
+ default_task :rendas
end
end