Sha256: f36d7011152beee0f2f420e4f843ecc8bfefffc1f60df525d8d28a021b814a09

Contents?: true

Size: 821 Bytes

Versions: 5

Compression:

Stored size: 821 Bytes

Contents

require 'rake'

desc "Show status of daemons"
task :daemons => "daemons:status"

daemons_dir = Daemons::Rails.configuration.daemons_directory

namespace :daemons do
  %w[start stop status].each do |arg|
    desc "#{arg.capitalize} all daemons."
    task :"#{arg}" do
      puts `#{daemons_dir}/daemons #{arg}`
    end
  end
end

namespace :daemon do
  Dir[daemons_dir.join('*_ctl')].each do |controller|
    app_name = controller.sub(/.*\/(\w+)_ctl/, '\1')
    desc "Start #{app_name} script"
    task app_name do
      FileUtils.cd daemons_dir do
        load "#{app_name}.rb"
      end
    end

    namespace app_name do
      %w[start stop status].each do |arg|
        desc "#{arg.capitalize} #{app_name} daemon."
        task :"#{arg}" do
          puts `#{controller} #{arg}`
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
daemons-rails-1.2.0 lib/tasks/daemons.rake
daemons-rails-1.1.2 lib/tasks/daemons.rake
daemons-rails-1.1.1 lib/tasks/daemons.rake
daemons-rails-1.1.0 lib/tasks/daemons.rake
daemons-rails-1.1.0.alpha lib/tasks/daemons.rake