class Textigniter::List
lists files
Public Class Methods
new()
click to toggle source
# File lib/textigniter/list.rb, line 4 def initialize end
Public Instance Methods
get_build_list(format)
click to toggle source
generates a build list
# File lib/textigniter/list.rb, line 14 def get_build_list(format) # Create the html list build_list1 = Dir.glob("#{$twd}/#{format}/**/*") # build the manifest manifest_build_list = manifest.get_manifest("#{format}") # create an array to store the new build list in build_list2 = Array.new # Clean up the build list build_list1.each do |l| # if not a directory keep the file unless File.directory?(l) build_list2.push({ filename: l, modified_at: File.mtime(l) }) end end # create the cleaned list cleaned_build_list = build_list2 - manifest_build_list unless cleaned_build_list.count == 0 # perfect_build_list perfect_build_list = Array.new # do some final pruning cleaned_build_list.each do |item| perfect_build_list.push item[:filename] end # Return the list return perfect_build_list else return nil end end
get_directory_listing(format=nil)
click to toggle source
print requested list to the command line
# File lib/textigniter/list.rb, line 46 def get_directory_listing(format=nil) # get the keyword for message output unless format.nil? keyword = format else keyword = "everything" end # output message STDOUT.puts "Building a directory listing for ".yellow_on_black + "[#{keyword}]".blue_on_black # files hash files = Hash.new # check for format unless format.nil? files[format] = Dir.glob("#{$twd}/#{format}/**/*") # get everything if format not specified else files['content'] = Dir.glob("#{$twd}/content/**/*") files['layouts'] = Dir.glob("#{$twd}/layouts/**/*") files['styles'] = Dir.glob("#{$twd}/styles/**/*") files['scripts'] = Dir.glob("#{$twd}/scripts/**/*") end # return files return files end
manifest()
click to toggle source
manifest parser
# File lib/textigniter/list.rb, line 9 def manifest @manifest = Textigniter::Parsers::ManifestParser.new end
print_directory_listing(files)
click to toggle source
# File lib/textigniter/list.rb, line 71 def print_directory_listing(files) # break files apart by key, value files.each do |key, values| # print the containing directory STDOUT.puts ".textigniter/#{key}".blue_on_black # print the files values.each do |file| unless File.directory?(file) STDOUT.puts "--#{file.gsub("#{$twd}/#{key}/", '')}".yellow_on_black end end end end