class Generator::Base

Public Class Methods

cache(file) click to toggle source
# File lib/generator/base.rb, line 43
def self.cache(file)
  @@FILE_CHECKSUMS[file] = self.checksum(file)
end
changed?(file) click to toggle source
# File lib/generator/base.rb, line 38
def self.changed?(file)
  return true unless @@FILE_CHECKSUMS.has_key? file
  @@FILE_CHECKSUMS[file] != self.checksum(file)
end
checksum(file) click to toggle source
# File lib/generator/base.rb, line 34
def self.checksum(file)
  Digest::MD5.hexdigest(File.read(file))
end

Public Instance Methods

compile(input) click to toggle source
# File lib/generator/base.rb, line 24
def compile(input)
  input
end
compile_file(input_file, *args) click to toggle source
# File lib/generator/base.rb, line 11
def compile_file(input_file, *args)
  return unless self.class.changed? (input_file)

  #if args[0] isset, it is a file, the output file
  if args.length > 0
    write(args[0], compile(File.read(input_file), *args))
  else
    compile(input_file, *args)
  end

  self.class.cache(input_file)
end
generate(input_folder, output_folder) click to toggle source
# File lib/generator/base.rb, line 7
def generate(input_folder, output_folder)

end
write(file, content) click to toggle source
# File lib/generator/base.rb, line 28
def write(file, content)
  File.open(file, "w") do |f|
    f.write content
  end
end