Sha256: cea8892c3d5bb8b472d246aa447926fc2a4511f7b0b23eb1ee5fe982e4aaa007

Contents?: true

Size: 1.28 KB

Versions: 24

Compression:

Stored size: 1.28 KB

Contents

require 'pushapp/tasks/base'

module Pushapp
  module Tasks
    class Upstart < Base
      def upstart_job
        @upstart_job ||= options[:upstart_job] || job_name_from_path
      end

      def upstart_jobs
        options[:upstart_jobs] || []
      end

      def job_name_from_path
        options[:remote].path ? options[:remote].path.split('/').last : nil
      end

      def jobs
        @jobs ||= upstart_jobs.empty? ? [upstart_job] : upstart_jobs.map {|j| [upstart_job, j].compact.join("-")}
      end

      def run
        jobs.each { |j| run_on(j) }
      end

      def run_on job
      end
    end

    class UpstartStart < Upstart
      def run_on job
        system "#{sudo} initctl start #{job}"
      end

      register_as :upstart_start
    end

    class UpstartStop < Upstart
      def run_on job
        system "#{sudo} initctl stop #{job}"
      end

      register_as :upstart_stop
    end

    class UpstartRestart < Upstart
      def run_on job
        system "#{sudo} initctl start #{job} || #{sudo} initctl restart #{job}"
      end

      register_as :upstart_restart
    end

    class UpstartReload < Upstart
      def run_on job
        system "#{sudo} initctl start #{job} || #{sudo} initctl restart #{job}"
      end

      register_as :upstart_reload
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
pushapp-0.2.10 lib/pushapp/tasks/upstart.rb
pushapp-0.2.9 lib/pushapp/tasks/upstart.rb
pushapp-0.2.8 lib/pushapp/tasks/upstart.rb
pushapp-0.2.7 lib/pushapp/tasks/upstart.rb
pushapp-0.2.6 lib/pushapp/tasks/upstart.rb
pushapp-0.2.5 lib/pushapp/tasks/upstart.rb
pushapp-0.2.4 lib/pushapp/tasks/upstart.rb
pushapp-0.2.3 lib/pushapp/tasks/upstart.rb
pushapp-0.2.2 lib/pushapp/tasks/upstart.rb
pushapp-0.2.1 lib/pushapp/tasks/upstart.rb
pushapp-0.2.0 lib/pushapp/tasks/upstart.rb
pushapp-0.1.9 lib/pushapp/tasks/upstart.rb
pushapp-0.1.8 lib/pushapp/tasks/upstart.rb
pushapp-0.1.7 lib/pushapp/tasks/upstart.rb
pushapp-0.1.6 lib/pushapp/tasks/upstart.rb
pushapp-0.1.5 lib/pushapp/tasks/upstart.rb
pushapp-0.1.4 lib/pushapp/tasks/upstart.rb
pushapp-0.1.3 lib/pushapp/tasks/upstart.rb
pushapp-0.1.2 lib/pushapp/tasks/upstart.rb
pushapp-0.1.1 lib/pushapp/tasks/upstart.rb