class RakeDependencies::TaskLib
Public Class Methods
check_required_for(instance)
click to toggle source
# File lib/rake_dependencies/tasklib.rb, line 27 def check_required_for(instance) dissatisfied = parameter_definitions.values.reject do |definition| definition.satisfied_by?(instance) end unless dissatisfied.empty? names = dissatisfied.map(&:name) raise RequiredParameterUnset, "Required parameter#{names.length > 1 ? 's' : ''} #{names.join(',')} unset." end end
new(*args, &block)
click to toggle source
# File lib/rake_dependencies/tasklib.rb, line 39 def initialize(*args, &block) setup_defaults process_arguments(args) process_block(block) check_required define end
parameter(name, options = {})
click to toggle source
# File lib/rake_dependencies/tasklib.rb, line 11 def parameter(name, options = {}) parameter_definition = ParameterDefinition.new( name, options[:default], options[:required]) name = parameter_definition.name attr_accessor(name) parameter_definitions[name] = parameter_definition end
parameter_definitions()
click to toggle source
# File lib/rake_dependencies/tasklib.rb, line 7 def parameter_definitions @parameter_definitions ||= {} end
setup_defaults_for(instance)
click to toggle source
# File lib/rake_dependencies/tasklib.rb, line 21 def setup_defaults_for(instance) parameter_definitions.values.each do |parameter_definition| parameter_definition.apply_default_to(instance) end end
Public Instance Methods
check_required()
click to toggle source
# File lib/rake_dependencies/tasklib.rb, line 58 def check_required self.class.check_required_for(self) end
define()
click to toggle source
# File lib/rake_dependencies/tasklib.rb, line 62 def define end
process_arguments(_)
click to toggle source
# File lib/rake_dependencies/tasklib.rb, line 51 def process_arguments(_) end
process_block(block)
click to toggle source
# File lib/rake_dependencies/tasklib.rb, line 54 def process_block(block) block.call(self) if block end
setup_defaults()
click to toggle source
# File lib/rake_dependencies/tasklib.rb, line 47 def setup_defaults self.class.setup_defaults_for(self) end