Sha256: 96a9812d6a18e78ec7c018867ef4a134df1d06da484b913d752242b9eee48263

Contents?: true

Size: 650 Bytes

Versions: 4

Compression:

Stored size: 650 Bytes

Contents

require "active_support/core_ext/module/attribute_accessors"

module Saber
  # Usage
  # 
  #   require "saber/task/make"
  #   Saber::Task["make"].invoke
  #
  # Define a new task
  #
  #   class HelloWorld < Task::Base
  #     def invoke(*args, &blk)
  #       p args
  #     end
  #   end
  #
  #   Task.hello_world(1, 2)   ->  [1, 2]
  module Task 
    @@tasks = {}

    # a list of all tasks 
    mattr_reader :tasks

    class << self
      def [](name)
        tasks[name]
      end
    end
  end
end

require "saber/task/base"
require "saber/task/clean"
require "saber/task/make"
require "saber/task/upload"
require "saber/task/find_uploads"

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
saber-1.2.4 lib/saber/task.rb
saber-1.2.3 lib/saber/task.rb
saber-1.2.2 lib/saber/task.rb
saber-1.2.1 lib/saber/task.rb