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