Sha256: c6c0d493a6f13a513129a17e930d15616e05fc397856da64b7f4907cfea47df3

Contents?: true

Size: 629 Bytes

Versions: 5

Compression:

Stored size: 629 Bytes

Contents

module Take
  class Project
    class Definition

      def initialize(project)
        @project = project
        @targets = {}
        @converts = []
        @requirements = []
      end

      def target(hash, &blk)
        ntarget = Target.new(hash, @project, &blk)
        @targets[ntarget.name] = ntarget
      end

      def targets
        @targets
      end

      def to_convert(*opts, &blk)
        Convert.new(*opts, &blk).tap { |c| @converts << c }
      end

      def requires(hash, &blk)
        Requirement.convert(hash, @project, &blk).
          tap { |r| @requirements.concat(r) }
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
take-0.0.15 lib/take/project/definition.rb
take-0.0.14 lib/take/project/definition.rb
take-0.0.13 lib/take/project/definition.rb
take-0.0.12 lib/take/project/definition.rb
take-0.0.11 lib/take/project/definition.rb