Class: Corundum::GemspecSanity

Inherits:
TaskLib
  • Object
show all
Defined in:
lib/corundum/gemspec_sanity.rb

Instance Method Summary collapse

Instance Method Details

#default_configuration(toolkit) ⇒ Object



9
10
11
# File 'lib/corundum/gemspec_sanity.rb', line 9

def default_configuration(toolkit)
  self.gemspec = toolkit.gemspec
end

#defineObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/corundum/gemspec_sanity.rb', line 13

def define
  in_namespace do
    task :has_files do
      if gemspec.files.nil? or gemspec.files.empty?
        fail "No files mentioned in gemspec - do you intend an empty gem?"
      end
    end

    task :files_exist do
      missing = gemspec.files.find_all do |path|
        not File::exists?(path)
      end

      fail "Files mentioned in gemspec are missing: #{missing.join(", ")}" unless missing.empty?
    end
  end

  task :preflight => in_namespace(:files_exist, :has_files)
end