Sha256: ef6e376a9bd50ce2876c7059ac329bc4a2dadd309757210ff0e1636081b522df
Contents?: true
Size: 1.63 KB
Versions: 4
Compression:
Stored size: 1.63 KB
Contents
module Veewee class Templates attr_accessor :env def initialize(env) @env=env return self end def [](name) result=nil valid_paths(env.template_path).each do |template_dir| template=Veewee::Template.new(name,File.join(template_dir,name),@env) if template.exists? result=template return result else return nil end end end # Fetch all Templates def each(&block) templates=Hash.new valid_paths(env.template_path).each do |template_dir| env.logger.debug("[Template] Searching #{template_dir} for templates") subdirs=Dir.glob("#{template_dir}/*") subdirs.each do |sub| if File.directory?("#{sub}") name=sub.sub(/#{template_dir}\//,'') template=Veewee::Template.new(name,sub,@env) if template.exists? env.logger.debug("[Template] template '#{name}' found") templates[name]=template end end end end if templates.length==0 env.logger.debug("[Template] no templates found") end templates.each(&block) end private # Traverses path to see which exist or not # and checks if available def valid_paths(paths) valid_paths=paths.collect { |path| if File.exists?(path) && File.directory?(path) env.logger.info "Path #{path} exists" File.expand_path(path) else env.logger.info "Path #{path} does not exist, skipping" nil end } return valid_paths.compact end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
veewee-0.3.0.alpha8 | lib/veewee/templates.rb |
veewee-0.3.0.alpha7 | lib/veewee/templates.rb |
veewee-0.3.0.alpha6 | lib/veewee/templates.rb |
veewee-0.3.0.alpha5 | lib/veewee/templates.rb |