simonmenke-gm 0.0.6 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.textile CHANGED
@@ -2,7 +2,9 @@ h1. GM (GemMake)
2
2
 
3
3
  GM is a gem and gemspec builder for use with github.
4
4
 
5
- For more info/docs go to "http://simonmenke.github.com/gm":http://simonmenke.github.com/gm
5
+ For the documentation go to "http://simonmenke.github.com/gm":http://simonmenke.github.com/gm
6
+
7
+ For bug reports and feature requests go to "http://menke.lighthouseapp.com/projects/23688-gm":http://menke.lighthouseapp.com/projects/23688-gm
6
8
 
7
9
  h2. Todo
8
10
 
@@ -0,0 +1,26 @@
1
+
2
+ module GM
3
+
4
+ class ConfigCommand < Command
5
+
6
+ desc "Edit your global configuration."
7
+
8
+ EMPTY_CONFIG = <<-EOC
9
+ author:
10
+ name:
11
+ email:
12
+ github:
13
+ username:
14
+ EOC
15
+
16
+ def run
17
+ path = File.expand_path('~/.gmrc')
18
+ unless File.exist? path
19
+ File.open(path, 'w+') { |f| f.write EMPTY_CONFIG }
20
+ end
21
+ system("$EDITOR '#{path}'")
22
+ end
23
+
24
+ end
25
+
26
+ end
@@ -1,3 +1,4 @@
1
+ require 'test/unit'
1
2
 
2
3
  class Test::Unit::TestCase
3
4
 
@@ -1,3 +1,4 @@
1
+ if defined?(RubiGen::Base)
1
2
 
2
3
  class TestGenerator < RubiGen::Base
3
4
 
@@ -15,9 +16,11 @@ class TestGenerator < RubiGen::Base
15
16
  m.directory ''
16
17
  %w( test ).each { |path| m.directory path }
17
18
 
18
- m.template "test/test_helper.rb", "test/test_helper.rb" unless File.exist? "test/test_helper.rb"
19
- m.template "test/test_case.rb", "test/#{@file_name}_test.rb" unless @file_name.nil?
19
+ m.template "test_helper.rb.erb", "test/test_helper.rb" unless File.exist? "test/test_helper.rb"
20
+ m.template "test_case.rb.erb", "test/#{@file_name}_test.rb" unless @file_name.nil?
20
21
  end
21
22
  end
22
23
 
23
24
  end
25
+
26
+ end # if defined?(RubiGen::Base)
@@ -45,14 +45,15 @@ configuration_pass :configatron_local, :configatron_global do |s|
45
45
  c.configure_from_yaml(File.expand_path('Gmfile'))
46
46
  end
47
47
 
48
- configuration_pass :configatron_normalize, :configatron_local do |s|
48
+ configuration_pass :configatron_normalize, { :before => :configatron,
49
+ :after => :configatron_local } do |s|
49
50
  c = configatron
50
51
 
51
- if c.rubyforge.project.nil?
52
+ if c.rubyforge.project.blank?
52
53
  c.rubyforge.project = c.general.name
53
54
  end
54
55
 
55
- if c.github.project.nil?
56
+ if c.github.project.blank?
56
57
  c.github.project = c.general.name
57
58
  end
58
59
  end
@@ -0,0 +1,3 @@
1
+ Autotest.add_discovery do
2
+ "gm" if File.exist? 'Gmfile'
3
+ end
@@ -0,0 +1,34 @@
1
+ require 'autotest'
2
+
3
+ class Autotest::Gm < Autotest
4
+
5
+ def initialize # :nodoc:
6
+ super
7
+
8
+ add_exception %r%^\./(?:doc|pkg)%
9
+
10
+ clear_mappings
11
+
12
+ self.add_mapping(/^lib\/.*\.rb$/) do |filename, _|
13
+ impl = File.basename(filename, '.rb')
14
+ files_matching %r%^test/#{impl}_test.rb$%
15
+ end
16
+
17
+ add_mapping %r%^test/.*rb$% do |filename, _|
18
+ filename
19
+ end
20
+
21
+ add_mapping %r%^test/test_helper.rb% do
22
+ files_matching %r%^test/.*_test\.rb$%
23
+ end
24
+ end
25
+
26
+ # Convert the pathname s to the name of class.
27
+ def path_to_classname(s)
28
+ sep = File::SEPARATOR
29
+ f = s.sub(/^test#{sep}/, '').sub(/\.rb$/, '').split(sep)
30
+ f = f.map { |path| path.split(/_/).map { |seg| seg.capitalize }.join }
31
+ f = f.map { |path| path =~ /Test$/ ? path : "#{path}Test" }
32
+ f.join('::')
33
+ end
34
+ end
@@ -3,18 +3,19 @@ module Gem # :nodoc:
3
3
 
4
4
  def self.find_recent_files(path)
5
5
  specs = searcher.find_all path
6
+
6
7
  specs = specs.inject({}) do |s, spec|
7
- if s[spec.name].nil?
8
- s[spec.name] = spec
9
- elsif (s[spec.name] <=> spec) == -1
8
+ if s[spec.name].nil? or (spec <=> s[spec.name]) == 1
10
9
  s[spec.name] = spec
11
10
  end
12
11
  s
13
- end.values
12
+ end
14
13
 
15
- specs.map do |spec|
14
+ specs = specs.collect do |name, spec|
16
15
  searcher.matching_files spec, path
17
- end.flatten
16
+ end
17
+
18
+ specs.flatten.compact
18
19
  end
19
20
 
20
21
  def self.find_recent_resources(path)
data/lib/gm/app.rb CHANGED
@@ -12,6 +12,11 @@ module GM
12
12
  attr_accessor :gem_file_name
13
13
 
14
14
  def initialize # :nodoc:
15
+ reset!
16
+ end
17
+
18
+ # reset the app
19
+ def reset!
15
20
  @configuration_passes = Hash.new { |h, k| h[k] = {} }
16
21
  @commands = {}
17
22
  end
@@ -65,11 +70,6 @@ module GM
65
70
  Gem.find_recent_resources('gm_passes/*.rb').uniq.each do |path|
66
71
  GM::DSL.load_pass path
67
72
  end
68
- @configuration_passes.each do |fase, passes|
69
- passes.each do |name, pass|
70
- pass.dependencies
71
- end
72
- end
73
73
  end
74
74
 
75
75
  # load all commands
data/lib/gm/command.rb CHANGED
@@ -19,6 +19,7 @@ module GM
19
19
 
20
20
  # load a command from a file
21
21
  def self.load_command(path)
22
+ return false unless File.exist?(path)
22
23
  cmd_name = File.basename(path, '.rb')
23
24
  cmd_name = cmd_name.gsub(/(^|_)([a-z])/i) { |m| $2.upcase }
24
25
 
@@ -27,22 +28,27 @@ module GM
27
28
 
28
29
  cmd_class = (mod.module_eval("GM::"+cmd_name) rescue nil)
29
30
 
30
- return nil if cmd_class.nil?
31
+ return false if cmd_class.nil?
31
32
 
32
- GM::App.instance.commands[cmd_name.to_sym] = cmd_class
33
+ GM.app.commands[cmd_name.to_sym] = cmd_class
33
34
  end
34
35
 
35
36
  # build a command
36
37
  def self.run(cmd_name=nil, argv=ARGV)
37
- app = GM::App.instance
38
+ app = GM.app
39
+ if Array === cmd_name
40
+ argv = cmd_name
41
+ cmd_name = nil
42
+ end
38
43
  cmd = self.build(cmd_name, argv)
39
44
  cmd.app = app
40
- cmd.options = app.options = Clip(argv) do |p|
45
+ clip = Clip(argv) do |p|
41
46
  app.extra_options(p)
42
47
  cmd.extra_options(p)
43
48
  end
49
+ cmd.options = app.options = clip
44
50
  argv.clear
45
- argv.concat(cmd.options.remainder)
51
+ argv.concat(clip.remainder)
46
52
  cmd.argv = argv
47
53
  cmd.run
48
54
  argv
@@ -50,11 +56,15 @@ module GM
50
56
 
51
57
  # build a command
52
58
  def self.build(cmd_name=nil, argv=ARGV)
59
+ if Array === cmd_name
60
+ argv = cmd_name
61
+ cmd_name = nil
62
+ end
53
63
  if cmd_name.nil?
54
- cmd_name = (argv.detect {|i| not i =~ /^--?/ } || 'help')
64
+ cmd_name = (argv.detect {|i| i !~ /^--?/ } || 'help')
55
65
  argv.delete(cmd_name)
56
66
  end
57
- app = GM::App.instance
67
+ app = GM.app
58
68
  cmd_name = "#{cmd_name}_command".camelize
59
69
  cmd_class = app.commands[cmd_name.to_sym]
60
70
  cmd_class ||= app.commands[:HelpCommand]
@@ -19,6 +19,8 @@ module GM
19
19
  unordered_passes = @passes.values.dup
20
20
  ordered_passes = []
21
21
 
22
+ unordered_passes.each { |pass| pass.dependencies }
23
+
22
24
  dependencies = Hash.new { |h,k| h[k.to_sym] = [] }
23
25
  unordered_passes.each do |pass|
24
26
  dependencies[pass.name].concat pass.dependencies.dup
@@ -54,7 +56,7 @@ module GM
54
56
  end
55
57
 
56
58
  def reset!
57
- @passes = GM::App.instance.configuration_passes[@fase.to_sym].dup
59
+ @passes = GM.app.configuration_passes[@fase.to_sym].dup
58
60
  @queue = nil
59
61
  end
60
62
 
data/lib/gm/dsl.rb CHANGED
@@ -16,27 +16,29 @@ module GM
16
16
  end
17
17
 
18
18
  def initialization_pass(name, options={}, &proc)
19
- ConfigurationPass.new(name, @description, options, &proc).register(:initialization)
20
- @description = nil
19
+ register_pass(:initialization, name, options, &proc)
21
20
  end
22
21
 
23
22
  def configuration_pass(name, options={}, &proc)
24
- ConfigurationPass.new(name, @description, options, &proc).register(:configuration)
25
- @description = nil
23
+ register_pass(:configuration, name, options, &proc)
26
24
  end
27
25
 
28
26
  def pass(name, options={}, &proc)
29
- ConfigurationPass.new(name, @description, options, &proc).register(:normal)
30
- @description = nil
27
+ register_pass(:normal, name, options, &proc)
31
28
  end
32
29
 
33
30
  def finalization_pass(name, options={}, &proc)
34
- ConfigurationPass.new(name, @description, options, &proc).register(:finalization)
35
- @description = nil
31
+ register_pass(:finalization, name, options, &proc)
36
32
  end
37
33
 
38
34
  def exclude_pass(name, fase=:normal)
39
- GM::App.instance.exclude_pass(name, fase)
35
+ GM.app.exclude_pass(name, fase)
36
+ end
37
+
38
+ def register_pass(fase, name, options, &proc) # :nodoc:
39
+ pass = ConfigurationPass.new(name, @description, options, &proc).register(fase)
40
+ @description = nil
41
+ pass
40
42
  end
41
43
  end
42
44
 
@@ -0,0 +1,103 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ class CommandTest < Test::Unit::TestCase
4
+
5
+ before do
6
+ GM.app.reset!
7
+ end
8
+
9
+ context "load_command" do
10
+
11
+ should "return klass" do
12
+ File.expects(:exist?).with('path/to/my_command.rb').returns(true)
13
+ IO.expects(:read).with('path/to/my_command.rb').returns(%{
14
+ module GM
15
+ class MyCommand ; end
16
+ end})
17
+ klass = GM::Command.load_command('path/to/my_command.rb')
18
+ assert_equal "GM::MyCommand", klass.to_s.split('::', 2).last
19
+ end
20
+
21
+ should "return false when file doen't exist" do
22
+ File.expects(:exist?).with('path/to/my_command.rb').returns(false)
23
+ assert_equal false, GM::Command.load_command('path/to/my_command.rb')
24
+ end
25
+
26
+ should "return false when file doen't contain command" do
27
+ File.expects(:exist?).with('path/to/my_command.rb').returns(true)
28
+ IO.expects(:read).with('path/to/my_command.rb').returns(%{})
29
+ assert_equal false, GM::Command.load_command('path/to/my_command.rb')
30
+ end
31
+
32
+ end
33
+
34
+ context "build" do
35
+
36
+ should "return instance of HelpCommand not found" do
37
+ help_cmd = mock
38
+ help_cmd_class = mock
39
+ help_cmd_class.expects(:new).returns(help_cmd)
40
+ GM.app.commands[:HelpCommand] = help_cmd_class
41
+ cmd = GM::Command.build(:hello)
42
+ assert_equal help_cmd, cmd
43
+ end
44
+
45
+ should "return new command" do
46
+ hello_cmd = mock
47
+ hello_cmd_class = mock
48
+ hello_cmd_class.expects(:new).returns(hello_cmd)
49
+ GM.app.commands[:HelloCommand] = hello_cmd_class
50
+ cmd = GM::Command.build(:hello)
51
+ assert_equal hello_cmd, cmd
52
+ end
53
+
54
+ should "find command name in argv if name is nil" do
55
+ argv = %w( -v hello world )
56
+ hello_cmd = mock
57
+ hello_cmd_class = mock
58
+ hello_cmd_class.expects(:new).returns(hello_cmd)
59
+ GM.app.commands[:HelloCommand] = hello_cmd_class
60
+ cmd = GM::Command.build(argv)
61
+ assert_equal hello_cmd, cmd
62
+ end
63
+
64
+ end
65
+
66
+ context "run" do
67
+
68
+ should "run command and return remaining argv" do
69
+ argv = %w( -v p )
70
+ hello_cmd = mock('hello_command') do
71
+ expects(:run)
72
+ expects(:app=).with(GM.app)
73
+ expects(:extra_options).with() { |value| Clip::Parser === value }
74
+ expects(:options=).with() { |value| Clip::Parser === value }
75
+ expects(:argv=).with %w( p )
76
+ end
77
+ hello_cmd_class = mock('hello_command_class') do
78
+ expects(:new).returns(hello_cmd)
79
+ end
80
+ GM.app.commands[:HelloCommand] = hello_cmd_class
81
+ assert_equal %w( p ), GM::Command.run(:hello, argv)
82
+ end
83
+
84
+ should "find command name in argv if name is nil" do
85
+ argv = %w( -v hello p )
86
+ hello_cmd = mock('hello_command') do
87
+ expects(:run)
88
+ expects(:app=).with(GM.app)
89
+ expects(:extra_options).with() { |value| Clip::Parser === value }
90
+ expects(:options=).with() { |value| Clip::Parser === value }
91
+ expects(:argv=).with %w( p )
92
+ end
93
+ hello_cmd_class = mock('hello_command_class') do
94
+ expects(:new).returns(hello_cmd)
95
+ end
96
+ GM.app.commands[:HelloCommand] = hello_cmd_class
97
+ assert_equal %w( p ), GM::Command.run(argv)
98
+ end
99
+
100
+ end
101
+
102
+
103
+ end
@@ -0,0 +1,56 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ class ConfigurationPassQueueTest < Test::Unit::TestCase
4
+
5
+ include GM::DSL
6
+
7
+ before do
8
+ GM.app.reset!
9
+ pass(:pass_a) { |s| }
10
+ pass(:pass_b) { |s| }
11
+ pass(:pass_c, :before => :pass_a, :after => :pass_b) { |s| }
12
+ pass(:pass_d, :pass_a) { |s| }
13
+ end
14
+
15
+ should "find passes in app" do
16
+ queue = GM::ConfigurationPassQueue.new(:normal)
17
+ assert_equal ["pass_a", "pass_b", "pass_c", "pass_d"], queue.passes.collect{ |n,v| n.to_s}.sort
18
+ end
19
+
20
+ should "be in dependency order" do
21
+ queue = GM::ConfigurationPassQueue.new(:normal)
22
+ queue.order
23
+ assert_equal [:pass_b, :pass_c, :pass_a, :pass_d], queue.queue.collect { |pass| pass.name }
24
+ end
25
+
26
+ should "not find excluded passes in app" do
27
+ exclude_pass(:pass_d)
28
+ queue = GM::ConfigurationPassQueue.new(:normal)
29
+ assert_equal ["pass_a", "pass_b", "pass_c"], queue.passes.collect{ |n,v| n.to_s}.sort
30
+ end
31
+
32
+ context "pass_c" do
33
+ before { GM.app.configuration_passes[:normal].each { |n, p| p.dependencies } }
34
+ should "depend on pass_b" do
35
+ deps = GM.app.configuration_passes[:normal][:pass_c].dependencies
36
+ assert_equal [:pass_b], deps
37
+ end
38
+ end
39
+
40
+ context "pass_d" do
41
+ before { GM.app.configuration_passes[:normal].each { |n, p| p.dependencies } }
42
+ should "depend on pass_b" do
43
+ deps = GM.app.configuration_passes[:normal][:pass_d].dependencies
44
+ assert_equal [:pass_a], deps
45
+ end
46
+ end
47
+
48
+ context "pass_d" do
49
+ before { GM.app.configuration_passes[:normal].each { |n, p| p.dependencies } }
50
+ should "depend on pass_b" do
51
+ deps = GM.app.configuration_passes[:normal][:pass_a].dependencies
52
+ assert_equal [:pass_c], deps
53
+ end
54
+ end
55
+
56
+ end
@@ -0,0 +1,24 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ class ConfigurationPassTest < Test::Unit::TestCase
4
+
5
+ include GM::DSL
6
+
7
+ should "register with the App in the correct fase" do
8
+ pass = pass(:pass) { |s| }
9
+ assert_not_nil pass
10
+ assert_equal pass, GM.app.configuration_passes[:normal][:pass]
11
+ end
12
+
13
+ should "have correct description" do
14
+
15
+ desc "my pass"
16
+ pass_a = pass(:pass_a) { |s| }
17
+ pass_b = pass(:pass_b) { |s| }
18
+
19
+ assert_equal pass_a.description, "my pass"
20
+ assert_equal pass_b.description, ""
21
+
22
+ end
23
+
24
+ end
@@ -0,0 +1,31 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ class GemExtentionsTest < Test::Unit::TestCase
4
+
5
+ should "find recent files" do
6
+ gems = Gem.searcher.find_all('autotest/discover.rb')
7
+ gems = gems.inject({}) do |specs, spec|
8
+ specs[spec.name] = spec if specs[spec.name].nil? or (spec <=> specs[spec.name]) == 1
9
+ specs
10
+ end.values
11
+ paths = gems.collect do |gem|
12
+ Gem.searcher.matching_files gem, 'autotest/discover.rb'
13
+ end.flatten.compact
14
+
15
+ assert_equal paths, Gem.find_recent_files('autotest/discover.rb')
16
+ end
17
+
18
+ should "find_recent_resources" do
19
+ gems = Gem.searcher.find_all('autotest/discover.rb')
20
+ gems = gems.inject({}) do |specs, spec|
21
+ specs[spec.name] = spec if specs[spec.name].nil? or (spec <=> specs[spec.name]) == 1
22
+ specs
23
+ end.values
24
+ paths = gems.collect do |gem|
25
+ Gem.searcher.matching_files gem, 'autotest/discover.rb'
26
+ end.flatten.compact
27
+
28
+ assert_equal paths, Gem.find_recent_resources('lib/autotest/discover.rb')
29
+ end
30
+
31
+ end
@@ -0,0 +1,12 @@
1
+ require 'test/unit'
2
+ require 'rubygems'
3
+ require 'mocha' rescue puts('please install mocha') and exit(1)
4
+ require 'context' rescue puts('please install context') and exit(1)
5
+
6
+ require File.dirname(__FILE__)+'/../lib/gm'
7
+
8
+ class Test::Unit::TestCase
9
+
10
+ # put your helpers here
11
+
12
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simonmenke-gm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Menke
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-15 00:00:00 -08:00
12
+ date: 2009-01-18 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -49,28 +49,9 @@ extensions: []
49
49
  extra_rdoc_files: []
50
50
 
51
51
  files:
52
- - lib/extentions/gem.rb
53
- - lib/gm/app.rb
54
- - lib/gm/command.rb
55
- - lib/gm/configuration_pass.rb
56
- - lib/gm/configuration_pass_queue.rb
57
- - lib/gm/dsl.rb
58
- - lib/gm.rb
59
- - gm_generators/bin/bin_generator.rb
60
- - gm_generators/bin/templates/bin/bin.rb
61
- - gm_generators/gem/gem_generator.rb
62
- - gm_generators/gem/templates/Gmfile
63
- - gm_generators/gem/templates/lib/module.rb
64
- - gm_generators/gem/templates/README.textile
65
- - gm_generators/mit_license/mit_license_generator.rb
66
- - gm_generators/mit_license/templates/LICENSE.txt
67
- - gm_generators/rails/rails_generator.rb
68
- - gm_generators/rails/templates/rails/init.rb
69
- - gm_generators/test/templates/test/test_case.rb
70
- - gm_generators/test/templates/test/test_helper.rb
71
- - gm_generators/test/test_generator.rb
72
52
  - gm_commands/build_command.rb
73
53
  - gm_commands/clean_command.rb
54
+ - gm_commands/config_command.rb
74
55
  - gm_commands/create_command.rb
75
56
  - gm_commands/gen_command.rb
76
57
  - gm_commands/help_command.rb
@@ -88,23 +69,49 @@ files:
88
69
  - gm_passes/specs.rb
89
70
  - gm_passes/test.rb
90
71
  - gm_generators/bin
72
+ - gm_generators/bin/bin_generator.rb
91
73
  - gm_generators/bin/templates
92
74
  - gm_generators/bin/templates/bin
75
+ - gm_generators/bin/templates/bin/bin.rb
93
76
  - gm_generators/gem
77
+ - gm_generators/gem/gem_generator.rb
94
78
  - gm_generators/gem/templates
79
+ - gm_generators/gem/templates/Gmfile
80
+ - gm_generators/gem/templates/README.textile
95
81
  - gm_generators/gem/templates/lib
82
+ - gm_generators/gem/templates/lib/module.rb
96
83
  - gm_generators/mit_license
84
+ - gm_generators/mit_license/mit_license_generator.rb
97
85
  - gm_generators/mit_license/templates
86
+ - gm_generators/mit_license/templates/LICENSE.txt
98
87
  - gm_generators/rails
88
+ - gm_generators/rails/rails_generator.rb
99
89
  - gm_generators/rails/templates
100
90
  - gm_generators/rails/templates/rails
91
+ - gm_generators/rails/templates/rails/init.rb
101
92
  - gm_generators/test
102
93
  - gm_generators/test/templates
103
- - gm_generators/test/templates/test
104
- - bin/gm
105
- - bin/gmm
94
+ - gm_generators/test/templates/test_case.rb.erb
95
+ - gm_generators/test/templates/test_helper.rb.erb
96
+ - gm_generators/test/test_generator.rb
97
+ - test/command_test.rb
98
+ - test/configuration_pass_queue_test.rb
99
+ - test/configuration_pass_test.rb
100
+ - test/gem_extentions_test.rb
101
+ - test/test_helper.rb
106
102
  - LICENSE.txt
107
103
  - README.textile
104
+ - bin/gm
105
+ - bin/gmm
106
+ - lib/autotest/discover.rb
107
+ - lib/autotest/gm.rb
108
+ - lib/extentions/gem.rb
109
+ - lib/gm/app.rb
110
+ - lib/gm/command.rb
111
+ - lib/gm/configuration_pass.rb
112
+ - lib/gm/configuration_pass_queue.rb
113
+ - lib/gm/dsl.rb
114
+ - lib/gm.rb
108
115
  has_rdoc: true
109
116
  homepage: http://github.com/simonmenke/gm
110
117
  post_install_message:
@@ -130,6 +137,10 @@ rubyforge_project: gm
130
137
  rubygems_version: 1.2.0
131
138
  signing_key:
132
139
  specification_version: 2
133
- summary: Build gems with ease.
134
- test_files: []
135
-
140
+ summary: Building gems the clean way.
141
+ test_files:
142
+ - test/command_test.rb
143
+ - test/configuration_pass_queue_test.rb
144
+ - test/configuration_pass_test.rb
145
+ - test/gem_extentions_test.rb
146
+ - test/test_helper.rb