class Rake::Manifest::Task

Tasks to create and check manifest file

Attributes

manifest_file[RW]
patterns[RW]

Public Class Methods

new(name = :manifest) { |self| ... } click to toggle source
Calls superclass method
# File lib/rake/manifest/task.rb, line 11
def initialize(name = :manifest)
  super()

  self.manifest_file = "Manifest.txt"
  self.patterns = ["**/*"]

  yield self if block_given?

  namespace name do
    define_tasks
  end
end

Private Instance Methods

define_check_task() click to toggle source
# File lib/rake/manifest/task.rb, line 43
def define_check_task
  desc "Check manifest"
  task :check do
    if gemmable_files == manifest_files
      puts "Manifest check succesful"
    else
      raise "Manifest check failed, try recreating the manifest"
    end
  end
end
define_generate_task() click to toggle source
# File lib/rake/manifest/task.rb, line 34
def define_generate_task
  desc "Create or update manifest"
  task :generate do
    File.open(manifest_file, "w") do |manifest|
      gemmable_files.each { |file| manifest.puts file }
    end
  end
end
define_tasks() click to toggle source
# File lib/rake/manifest/task.rb, line 54
def define_tasks
  define_generate_task
  define_check_task
end
gemmable_files() click to toggle source
# File lib/rake/manifest/task.rb, line 26
def gemmable_files
  Rake::FileList.new(*patterns).existing.select { |fn| File.file?(fn) }
end
manifest_files() click to toggle source
# File lib/rake/manifest/task.rb, line 30
def manifest_files
  File.read(manifest_file).split
end