class Seisan::Task
Public Class Methods
install_tasks()
click to toggle source
# File lib/seisan/task.rb, line 8 def self.install_tasks new.install end
Public Instance Methods
install()
click to toggle source
# File lib/seisan/task.rb, line 12 def install desc "Generate seisan report" task :seisan do src_dir, dest_dir = 'data', 'output' config = user_config.merge('target' => ENV['TARGET']) report(src_dir, dest_dir, config) end task :default => :seisan end
Private Instance Methods
convert_target_to_file_name(target)
click to toggle source
# File lib/seisan/task.rb, line 51 def convert_target_to_file_name(target) target.gsub('/', '-') end
load_seisan_requests(src_dir, target)
click to toggle source
# File lib/seisan/task.rb, line 44 def load_seisan_requests(src_dir, target) source = Gimlet::DataStore.new(File.join(src_dir, target)) source.to_h.values rescue Gimlet::DataStore::SourceNotFound [] end
report(src_dir, dest_dir, config)
click to toggle source
# File lib/seisan/task.rb, line 23 def report(src_dir, dest_dir, config) if config['target'].nil? Seisan.logger.error "You must specify the 'TARGET'.\nExample:\n % bundle exec rake TARGET=2013/07" exit end Seisan.logger.info 'Processing %s ...' % config['target'] requests = load_seisan_requests(src_dir, config['target']) Seisan.logger.info 'Loaded %d files' % requests.size report = Seisan::Report.new(requests, config) dest_path = File.join(dest_dir, '%s.xlsx' % convert_target_to_file_name(config['target'])) report.export(dest_path) end
user_config()
click to toggle source
# File lib/seisan/task.rb, line 38 def user_config Gimlet::DataStore.new('config.yaml').to_h rescue Gimlet::DataStore::SourceNotFound {} end