Sha256: 28be4fdfee85e6345409881ee3f01c9f15342b0dd6c6b953e90bf04091199c28

Contents?: true

Size: 660 Bytes

Versions: 7

Compression:

Stored size: 660 Bytes

Contents

module AsProject
  class EnvTaskError < StandardError; end
  
  class EnvTask
    attr_accessor :name,
                  :target

    def initialize(name=:env_task)
      @name = name
      yield self if block_given?
      define
    end

    def define
      if(target.nil?)
        raise EnvTaskError.new('EnvTask requires a task target to execute')
      end
      begin
        sh(target)
      rescue NoMethodError => e
        target_not_found
      rescue RuntimeError => e
      end
    end
    
    def target_not_found
      raise EnvTaskError.new("EnvTask was unable to find the target: #{target}")
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
asproject-0.1.118 lib/tasks/env_task.rb
asproject-0.1.74 lib/tasks/env_task.rb
asproject-0.1.75 lib/tasks/env_task.rb
asproject-0.1.80 lib/tasks/env_task.rb
asproject-0.1.84 lib/tasks/env_task.rb
asproject-0.1.89 lib/tasks/env_task.rb
asproject-0.1.92 lib/tasks/env_task.rb