Sha256: 301a87f6f7a9174c20081fcad8d1a96ffd5a1df0879c441d77b719f138b1c08d

Contents?: true

Size: 845 Bytes

Versions: 23

Compression:

Stored size: 845 Bytes

Contents

require 'pushapp/config'
require 'pushapp/logger'

module Pushapp
  module Tasks
    class Base
      attr_reader :options
      attr_reader :logger

      def initialize options={}
        @options = options
        @logger = Pushapp::Logger.new
      end

      def run
      end

      def env
        Hash[env_options.map {|k, v| [k.to_s, v.to_s] }]
      end

      def env_options
        options[:env] || {}
      end

      def sudo
        options[:sudo] || 'sudo'
      end

      def system cmd
        logger.debug cmd
        Pipe.run cmd
      end

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

      def self.register_as name
        Pushapp::Config.register_task name, self
      end

      def inspect
        options[:task_name]
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

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