Sha256: f84ba2f6e56fa29495c235f4aacdf2ea1bd15e6773d51a3c9ec0242069f8317d
Contents?: true
Size: 1.51 KB
Versions: 2
Compression:
Stored size: 1.51 KB
Contents
class Dressmaker class Configuration autoload :Delegators, File.join(File.dirname(__FILE__), 'configuration', 'delegators') autoload :Rule, File.join(File.dirname(__FILE__), 'configuration', 'rule') autoload :FileRule, File.join(File.dirname(__FILE__), 'configuration', 'file_rule') autoload :DirectoryRule, File.join(File.dirname(__FILE__), 'configuration', 'directory_rule') autoload :Matcher, File.join(File.dirname(__FILE__), 'configuration', 'matcher') autoload :FileMatcher, File.join(File.dirname(__FILE__), 'configuration', 'file_matcher') autoload :DirectoryMatcher, File.join(File.dirname(__FILE__), 'configuration', 'directory_matcher') attr_accessor :description_holder attr_reader :options, :rules def self.load(file, options) configuration = new(options) configuration.instance_eval(File.read(file)) configuration end def initialize(options) @options = options @rules = [] end def directory DirectoryMatcher.new(self) end def files FileMatcher.new(self) end def process!(target) rules.each do |rule| Dir.glob("#{target}/**/*") do |file| rel_file = file[target.size, file.size] rule.inform && rule.execute!(file) if rule.matches?(target, rel_file) end end end alias_method :desc, :description_holder= def desc(description) @description_holder = description end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dressmaker-0.0.3 | lib/dressmaker/configuration.rb |
dressmaker-0.0.2 | lib/dressmaker/configuration.rb |