Sha256: b535aff8eb1031e3744afe315cdd6528310b45ad3a5432c56f0c3daee8e92731
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
require 'fileutils' require 'pathname' require 'yaml' require 'mime/types' require 'slop' begin require 'v8' rescue LoadError $stderr.puts "WARNING: 'gem install therubyracer' for much faster CoffeeScript compilation." end require 'bunch/version' require 'bunch/rack' require 'bunch/middleware' require 'bunch/caching' require 'bunch/directory_node' require 'bunch/file_node' require 'bunch/coffee_node' require 'bunch/sass_node' module Bunch end class << Bunch def content_for(path) tree_for(normalized_path(path)).content end def tree_for(path) case when File.directory?(path) Bunch::DirectoryNode.new(path) when path =~ /\.coffee$/ Bunch::CoffeeNode.new(path) when path =~ /\.s(a|c)ss$/ Bunch::SassNode.new(path) else Bunch::FileNode.new(path) end end private def normalized_path(path) case when File.exist?(path) path when File.exist?(chopped_path = path.sub(%r(\.[^.]*$), '')) chopped_path when File.basename(path).start_with?('all.') && File.exist?(dir_path = File.dirname(path)) dir_path when (path_w_different_extension = Dir["#{chopped_path}.*"].first) path_w_different_extension else raise Errno::ENOENT, path.to_s end end end #class Module # def benchmark(meth) # alias_method "#{meth}_old", meth # define_method meth do |*args, &blk| # t = Time.now # send "#{meth}_old", *args, &blk # STDERR.puts "Called #{meth} in #{Time.now - t}." # end # end #end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bunch-0.0.6 | lib/bunch.rb |