#!/usr/bin/env ruby $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__) require 'historico_ativos' module HistoricoAtivos if ARGV.size <= 0 puts "Bovespa Ingestion eh uma lib que permite importar as cotacoes diarias dos ativos " puts "da BM&F Bovespa utilizando os arquivos das cotacoes das series historicas." puts "" puts " Uso: " puts " carregar_historico comando [argumentos...]" puts "" puts " Exemplos:" puts " carregar_historico install" puts " carregar_historico import sample/sample_cota_hist_2003.txt" puts "" puts " Mais informacoes:" puts " https://github.com/seixasfelipe/bovespa-ingestion" else command = ARGV[0] if command == 'install' require 'rake' StandaloneMigrations::Tasks.load_tasks migrate_path = File.expand_path("../../db/migrate", __FILE__) paths = Rails.application.config.paths paths.add "db/migrate", :with => migrate_path Rake::Task['db:migrate'].invoke # system("rake db:migrate") elsif command == 'import' if ARGV.size == 1 puts "Eh necessario informar o nome do arquivo a ser importado" else sample_file = ARGV[1] puts "Carregando historico do arquivo: #{sample_file}" start_time = Time.now loader = CarregaHistorico.new ParserHeader.new, ParserTrailer.new, ParserAtivo.new historico = loader.load sample_file puts "Total de ativos carregados: #{historico.ativos.length}" loader.persist historico end_time = Time.now elapsed_time = (end_time - start_time) * 1000.0 puts "Historico carregado em #{elapsed_time} ms!" end end end end