Class: Edison::StaticFileHandler
- Inherits:
-
Object
- Object
- Edison::StaticFileHandler
- Defined in:
- lib/edison.rb
Class Method Summary collapse
Class Method Details
.filter_blacklisted(directory, files) ⇒ Object
113 114 115 116 117 118 119 120 |
# File 'lib/edison.rb', line 113 def self.filter_blacklisted(directory, files) blacklist = ["Gemfile", "Gemfile.lock", "config.rb", "Rakefile", "Procfile", "Makefile"] files.reject do |fname| name = fname.sub(/^#{directory}\//,'') dirname = File.dirname(fname) blacklist.include?(name) or name =~ /^_/ or File.directory?(fname) end end |
.load(directory) ⇒ Object
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
# File 'lib/edison.rb', line 121 def self.load(directory) static = Dir[File.join(directory, "**/*")] static = self.filter_blacklisted(directory, static) possibly_dynamic = [] just_copy = [] static.each do |fname| name = fname.sub(/^#{directory}\//,'') if %w{.html .md}.include?(File.extname(fname)) data = Hashie::Mash.new Edison::YAMLFrontMatter.read(fname) url = name.sub(/\.md$/,'') possibly_dynamic << [url, data] else just_copy << name end end OpenStruct.new( :possibly_dynamic => possibly_dynamic, :just_copy => just_copy ) end |