Class: Physique::TasksBuilder
- Inherits:
-
Object
- Object
- Physique::TasksBuilder
show all
- Includes:
- Albacore::Logging, DSL, ToolLocator, Rake::DSL
- Defined in:
- lib/physique/tasks_builder.rb
Class Attribute Summary collapse
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#locate_tool, #lookup_tool, #register_tool, #which
Class Attribute Details
.subclasses ⇒ Object
Returns the value of attribute subclasses.
15
16
17
|
# File 'lib/physique/tasks_builder.rb', line 15
def subclasses
@subclasses
end
|
Instance Attribute Details
#solution ⇒ Object
Returns the value of attribute solution.
22
23
24
|
# File 'lib/physique/tasks_builder.rb', line 22
def solution
@solution
end
|
Class Method Details
.build_tasks_for(solution) ⇒ Object
24
25
26
27
28
|
# File 'lib/physique/tasks_builder.rb', line 24
def self.build_tasks_for(solution)
TasksBuilder.subclasses.each do |builder_class|
builder_class.new.build_tasks_for solution
end
end
|
.inherited(subclass) ⇒ Object
18
19
20
|
# File 'lib/physique/tasks_builder.rb', line 18
def self.inherited(subclass)
TasksBuilder.subclasses << subclass
end
|
Instance Method Details
#build_tasks ⇒ Object
35
36
37
|
# File 'lib/physique/tasks_builder.rb', line 35
def build_tasks
raise 'This method must be implemented in your subclass'
end
|
#build_tasks_for(solution) ⇒ Object
30
31
32
33
|
# File 'lib/physique/tasks_builder.rb', line 30
def build_tasks_for(solution)
@solution = solution
build_tasks
end
|
#ensure_output_location(path) ⇒ Object
39
40
41
42
|
# File 'lib/physique/tasks_builder.rb', line 39
def ensure_output_location(path)
FileUtils.mkdir_p path
end
|
#namespace(name, &block) ⇒ Object
44
45
46
47
|
# File 'lib/physique/tasks_builder.rb', line 44
def namespace(name, &block)
name = to_string_or_symbol(name)
Rake.application.in_namespace(name, &block)
end
|
#to_string_or_symbol(name) ⇒ Object
49
50
51
52
53
54
55
56
|
# File 'lib/physique/tasks_builder.rb', line 49
def to_string_or_symbol(name)
name = name.to_s if name.kind_of?(Symbol)
name = name.to_str if name.respond_to?(:to_str)
unless name.kind_of?(String) || name.nil?
raise ArgumentError, 'Expected a String or Symbol for a namespace name'
end
name
end
|