class Physique::TasksBuilder
Attributes
subclasses[R]
solution[R]
Public Class Methods
build_tasks_for(solution)
click to toggle source
# 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)
click to toggle source
# File lib/physique/tasks_builder.rb, line 18 def self.inherited(subclass) TasksBuilder.subclasses << subclass end
Public Instance Methods
build_tasks()
click to toggle source
# 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)
click to toggle source
# File lib/physique/tasks_builder.rb, line 30 def build_tasks_for(solution) @solution = solution build_tasks end
ensure_output_location(path)
click to toggle source
# File lib/physique/tasks_builder.rb, line 39 def ensure_output_location(path) # Ensure output directory exists FileUtils.mkdir_p path end
namespace(name, &block)
click to toggle source
# 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)
click to toggle source
# 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