module Take::Project::Requirement
Public Class Methods
convert(hash, project, &blk)
click to toggle source
# File lib/take/project/requirement.rb, line 10 def self.convert(hash, project, &blk) if hash.size > 1 raise ArgumentError, "Cannot use a block for a " \ "multi-requirement!" if block_given? end requirements = [] hash.each do |key, value| requirement_class = lookup(key) requirement = requirement_class.new(key, value, project, &blk) requirements << requirement end requirements end
lookup(name)
click to toggle source
# File lib/take/project/requirement.rb, line 28 def self.lookup(name) case name when :header Header when :library Library when :program Program when Class name else raise ArgumentError, "Unknown requirement #{name.inspect}!" end end