Class: LibGemsGauntlet

Inherits:
Gauntlet
  • Object
show all
Defined in:
lib/gauntlet_libgems.rb

Overview

LibGemsGauntlet validates all current gems. Currently these packages are borked:

Asami-0.04 : No such file or directory - bin/Asami.rb ObjectGraph-1.0.1 : No such file or directory - bin/objectgraph evil-ruby-0.1.0 : authors must be Array of Strings fresh_cookies-1.0.0 : authors must be Array of Strings plugems_deploy-0.2.0 : authors must be Array of Strings pmsrb-0.2.0 : authors must be Array of Strings pqa-1.6 : authors must be Array of Strings rant-0.5.7 : authors must be Array of Strings rvsh-0.4.5 : No such file or directory - bin/rvsh xen-0.1.2.1 : authors must be Array of Strings

Instance Method Summary collapse

Instance Method Details

#reportObject



41
42
43
44
45
# File 'lib/gauntlet_libgems.rb', line 41

def report
  self.data.sort.reject { |k,v| !v }.each do |k,v|
    puts "%-21s: %s" % [k, v]
  end
end

#run(name) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/gauntlet_libgems.rb', line 20

def run(name)
  warn name

  spec = begin
           LibGems::Specification.load 'gemspec'
         rescue SyntaxError
           LibGems::Specification.from_yaml File.read('gemspec')
         end
  spec.validate

  self.data[name] = false
  self.dirty = true
rescue SystemCallError, LibGems::InvalidSpecificationException => e
  self.data[name] = e.message
  self.dirty = true
end

#should_skip?(name) ⇒ Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/gauntlet_libgems.rb', line 37

def should_skip?(name)
  self.data[name] == false
end