Sha256: adf6e92013e6139bef86829dd252ac63c1ae8354a58e89ea152ebd21a6a422dc
Contents?: true
Size: 1.4 KB
Versions: 2
Compression:
Stored size: 1.4 KB
Contents
require 'thor' require 'dotenv' require 'pushpop' module Pushpop class CLI < Thor def self.file_options option :file, :aliases => '-f' end desc 'version', 'Print the Pushpop version' map %w(-v --version) => :version def version "Pushpop version #{Pushpop::VERSION}".tap do |s| puts s end end desc 'jobs:describe', 'Describe jobs' map 'jobs:describe' => 'describe_jobs' file_options def describe_jobs Dotenv.load require_file(options[:file]) Pushpop.jobs.tap do |jobs| jobs.each do |job| puts job.name end end end desc 'jobs:run_once', 'Run jobs once' map 'jobs:run_once' => 'run_jobs_once' file_options def run_jobs_once Dotenv.load require_file(options[:file]) Pushpop.run end desc 'jobs:run', 'Run jobs ongoing' map 'jobs:run' => 'run_jobs' file_options def run_jobs Dotenv.load require_file(options[:file]) Pushpop.schedule Clockwork.manager.run end private def require_file(file) if file if File.directory?(file) Dir.glob("#{file}/**/*.rb").each { |file| load "#{Dir.pwd}/#{file}" } else load file end else Dir.glob("#{Dir.pwd}/jobs/**/*.rb").each { |file| load file } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pushpop-0.2 | lib/pushpop/cli.rb |
pushpop-0.1.2 | lib/pushpop/cli.rb |