Class: Take::Project::Definition

Inherits:
Object
  • Object
show all
Defined in:
lib/take/project/definition.rb

Instance Method Summary collapse

Constructor Details

#initialize(project) ⇒ Definition

Returns a new instance of Definition.



5
6
7
8
9
10
# File 'lib/take/project/definition.rb', line 5

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

Instance Method Details

#requires(hash, &blk) ⇒ Object



25
26
27
28
# File 'lib/take/project/definition.rb', line 25

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

#target(hash, &blk) ⇒ Object



12
13
14
15
# File 'lib/take/project/definition.rb', line 12

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

#targetsObject



17
18
19
# File 'lib/take/project/definition.rb', line 17

def targets
  @targets
end

#to_convert(*opts, &blk) ⇒ Object



21
22
23
# File 'lib/take/project/definition.rb', line 21

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