Sha256: 560e55735dbb31521a310eb924b896e4946777bc9a52df18d7239ea62300e75a

Contents?: true

Size: 1.09 KB

Versions: 7

Compression:

Stored size: 1.09 KB

Contents

require_relative 'task/cucumber_task'
require_relative 'task/rspec_task'

module Henry
  
  # Henry Task  
  class Task

    # Accessors for name and data
    attr_accessor :name, :data, :enabled
  
    # Returns an instance of the target Task class.
    # @note Factory to create XTask instances.
    #
    # @return [Task]
    def self.create(name, data)
      return Kernel.eval(data['class_name']).new(name, data)
    end
    
    # Initialize the Task with the given name and data.
    def initialize(name, data)
      self.name = name
      self.data = OpenStruct.new(data)
      self.enabled = true
    end

    # Returns true whenever the Task is enabled.
    #
    # @return [True,False]
    def enabled?
      self.enabled
    end

    # Returns true whenever the Task is disabled.
    #
    # @return [True,False]
    def disabled?
      !self.enabled?
    end

    # Makes the Task enabled
    def enable!
      self.enabled = true
    end

    # Makes the Task disabled
    def disable!
      self.enabled = false
    end

    # Nothing to be done here yet...
    def execute(params)
    end

  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
henry-container-0.0.28 lib/henry/task.rb
henry-container-0.0.27 lib/henry/task.rb
henry-container-0.0.26 lib/henry/task.rb
henry-container-0.0.25 lib/henry/task.rb
henry-container-0.0.24 lib/henry/task.rb
henry-container-0.0.23 lib/henry/task.rb
henry-container-0.0.22 lib/henry/task.rb