Rake (および Make) のような Thor には、タスク管理機能があります。タスクを複数回呼び出すと、タスクは実質的に 1 回だけ呼び出されます。タスクを複数回呼び出すにはどうすればよいですか?
ハッシュを変更しようとしまし@_invocations
たが、うまくいきませんでした:
require 'csv'
require './config/environment'
class MisReport < Thor
desc "all", "generate mysql and postgres mis"
def all
generate("pg_mis_report", "pg")
generate("mysql_mis_report", "mysql")
end
desc "generate", "generate mis report"
def generate(file_name = "mis_report_#{Time.now.to_s(:number)}", connection = "postgres")
if connection == "pg"
puts "== postgres database"
ActiveRecord::Base.establish_connection :development_mysql
else
puts "== mysql database"
ActiveRecord::Base.establish_connection :development
end
# generate MIS
puts
puts "mis file is at: #{file_path}"
end
end