simonmenke-gm 0.1.3 → 0.1.4

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.
Files changed (53) hide show
  1. data/gm_behaviors/author_behavior.rb +29 -0
  2. data/gm_behaviors/bin_files_behavior.rb +10 -0
  3. data/gm_behaviors/dependencies_behavior.rb +22 -0
  4. data/gm_behaviors/executables_behavior.rb +13 -0
  5. data/gm_behaviors/general_behavior.rb +41 -0
  6. data/gm_behaviors/github_behavior.rb +11 -0
  7. data/gm_behaviors/gm_files_behavior.rb +13 -0
  8. data/gm_behaviors/lib_files_behavior.rb +10 -0
  9. data/gm_behaviors/rails_behavior.rb +11 -0
  10. data/gm_behaviors/rdoc_behavior.rb +34 -0
  11. data/gm_behaviors/rspec_behavior.rb +10 -0
  12. data/gm_behaviors/rubigen_behavior.rb +13 -0
  13. data/gm_behaviors/rubyforge_behavior.rb +12 -0
  14. data/gm_behaviors/test_behavior.rb +10 -0
  15. data/gm_behaviors/text_files_behavior.rb +10 -0
  16. data/gm_commands/build_command.rb +1 -1
  17. data/gm_commands/build_gemspec_command.rb +30 -0
  18. data/gm_commands/config_command.rb +2 -2
  19. data/gm_commands/gen_command.rb +1 -1
  20. data/gm_commands/publish_command.rb +2 -2
  21. data/gm_commands/spec_command.rb +1 -1
  22. data/gm_generators/mit_license/templates/LICENSE.txt +1 -1
  23. data/gm_networks/github_network.rb +25 -3
  24. data/gm_networks/rubyforge_network.rb +18 -0
  25. data/lib/extentions/gem.rb +0 -11
  26. data/lib/gm.rb +4 -5
  27. data/lib/gm/app.rb +29 -18
  28. data/lib/gm/behavior.rb +23 -0
  29. data/lib/gm/command.rb +3 -7
  30. data/lib/gm/configuration.rb +20 -0
  31. data/lib/gm/helpers.rb +20 -0
  32. data/lib/gm/loader.rb +1 -1
  33. data/lib/gm/network.rb +2 -6
  34. data/test/gem_extentions_test.rb +0 -15
  35. metadata +45 -46
  36. data/gm_passes/clean_file_list.rb +0 -15
  37. data/gm_passes/configatron.rb +0 -92
  38. data/gm_passes/defaults.rb +0 -10
  39. data/gm_passes/executables.rb +0 -10
  40. data/gm_passes/files.rb +0 -15
  41. data/gm_passes/github.rb +0 -9
  42. data/gm_passes/gm.rb +0 -10
  43. data/gm_passes/rails.rb +0 -8
  44. data/gm_passes/rubigen.rb +0 -10
  45. data/gm_passes/specs.rb +0 -7
  46. data/gm_passes/test.rb +0 -7
  47. data/lib/extentions/configatron.rb +0 -17
  48. data/lib/gm/configuration_pass.rb +0 -58
  49. data/lib/gm/configuration_pass_queue.rb +0 -70
  50. data/lib/gm/dsl.rb +0 -45
  51. data/test/configatron_test.rb +0 -15
  52. data/test/configuration_pass_queue_test.rb +0 -56
  53. data/test/configuration_pass_test.rb +0 -24
@@ -24,15 +24,4 @@ module Gem # :nodoc:
24
24
  end
25
25
  end
26
26
 
27
- class Specification # :nodoc:
28
-
29
- alias_method :ruby_code_old, :ruby_code
30
-
31
- def ruby_code(obj)
32
- obj = nil if obj.is_a? Configatron::Store
33
- ruby_code_old(obj)
34
- end
35
-
36
- end
37
-
38
27
  end
data/lib/gm.rb CHANGED
@@ -1,9 +1,9 @@
1
1
 
2
2
  begin
3
+ require 'ec'
3
4
  require 'erb'
4
5
  require 'clip'
5
6
  require 'singleton'
6
- require 'configatron'
7
7
  require 'rubigen'
8
8
  require 'rubigen/scripts/generate'
9
9
  rescue LoadError
@@ -19,13 +19,12 @@ module GM
19
19
  end
20
20
 
21
21
  require File.dirname(__FILE__)+'/extentions/gem'
22
- require File.dirname(__FILE__)+'/extentions/configatron'
23
22
  require File.dirname(__FILE__)+'/gm/loader'
24
23
  require File.dirname(__FILE__)+'/gm/system'
24
+ require File.dirname(__FILE__)+'/gm/helpers'
25
25
  require File.dirname(__FILE__)+'/gm/documentation'
26
+ require File.dirname(__FILE__)+'/gm/configuration'
26
27
  require File.dirname(__FILE__)+'/gm/app'
27
28
  require File.dirname(__FILE__)+'/gm/command'
28
- require File.dirname(__FILE__)+'/gm/configuration_pass'
29
- require File.dirname(__FILE__)+'/gm/configuration_pass_queue'
30
- require File.dirname(__FILE__)+'/gm/dsl'
29
+ require File.dirname(__FILE__)+'/gm/behavior'
31
30
  require File.dirname(__FILE__)+'/gm/network'
data/lib/gm/app.rb CHANGED
@@ -35,28 +35,31 @@ module GM
35
35
 
36
36
  # run the app
37
37
  def run
38
- load_passes
38
+ load_behaviors
39
39
  load_commands
40
40
  load_networks
41
+
42
+ load_configuration('~/.gmrc')
43
+ load_configuration('Gmfile')
44
+ EC.store.validate
45
+
41
46
  Command.run
42
47
  end
43
48
 
49
+ def load_configuration(path)
50
+ path = File.expand_path(path)
51
+ if File.exist? path
52
+ EC.store.configure_with_yaml(path)
53
+ else
54
+ log "Missing configuration file: #{path}"
55
+ end
56
+ end
57
+
44
58
  # should we emulate github?
45
59
  def self.emulate?
46
60
  instance.emulate || false
47
61
  end
48
62
 
49
- def build_gemspec
50
- self.info "Generating your gemspec..."
51
- @gemspec = Gem::Specification.new do |s|
52
- ConfigurationPassQueue.new(:initialization).run(s)
53
- ConfigurationPassQueue.new(:configuration).run(s)
54
- ConfigurationPassQueue.new(:normal).run(s)
55
- ConfigurationPassQueue.new(:finalization).run(s)
56
- end
57
- @gemspec.validate
58
- end
59
-
60
63
  def log(msg)
61
64
  puts msg
62
65
  end
@@ -71,27 +74,35 @@ module GM
71
74
 
72
75
  private
73
76
 
74
- # load all passes
75
- def load_passes
76
- Gem.find_recent_resources('gm_passes/*.rb').uniq.each do |path|
77
- GM::DSL.load_pass path
77
+ # load all behaviors
78
+ def load_behaviors
79
+ find_paths('gm_behaviors/*_behavior.rb').each do |path|
80
+ GM::Behavior.load_behavior path
78
81
  end
79
82
  end
80
83
 
81
84
  # load all networks
82
85
  def load_networks
83
- Gem.find_recent_resources('gm_networks/*_network.rb').uniq.each do |path|
86
+ find_paths('gm_networks/*_network.rb').each do |path|
84
87
  GM::Network.load_network path
85
88
  end
86
89
  end
87
90
 
88
91
  # load all commands
89
92
  def load_commands
90
- Gem.find_recent_resources('gm_commands/*_command.rb').uniq.each do |path|
93
+ find_paths('gm_commands/*_command.rb').each do |path|
91
94
  GM::Command.load_command path
92
95
  end
93
96
  end
94
97
 
98
+ def find_paths(pattern)
99
+ if File.exist? 'gm.gemspec'
100
+ Dir.glob(pattern).uniq
101
+ else
102
+ Gem.find_recent_resources(pattern).uniq
103
+ end
104
+ end
105
+
95
106
  end
96
107
 
97
108
  end
@@ -0,0 +1,23 @@
1
+
2
+ module GM
3
+
4
+ class Behavior
5
+
6
+ include GM::Documentation
7
+ include GM::Configuration
8
+ include GM::Helpers
9
+ include GM::System
10
+ include GM::Loader
11
+
12
+ desc ""
13
+ doc ""
14
+
15
+ loads :behaviors
16
+
17
+ def run
18
+
19
+ end
20
+
21
+ end
22
+
23
+ end
data/lib/gm/command.rb CHANGED
@@ -7,13 +7,15 @@ module GM
7
7
  attr_accessor :options
8
8
 
9
9
  include GM::Documentation
10
+ include GM::Configuration
11
+ include GM::Helpers
10
12
  include GM::System
11
13
  include GM::Loader
12
14
 
13
15
  desc ""
14
16
  doc ""
15
17
  banner ""
16
- loads :commands#, :extends => GM
18
+ loads :commands
17
19
 
18
20
  # build a command
19
21
  def self.run(cmd_name=nil, argv=ARGV)
@@ -63,12 +65,6 @@ module GM
63
65
  def run
64
66
  end
65
67
 
66
- protected
67
-
68
- def app
69
- GM.app
70
- end
71
-
72
68
  end
73
69
 
74
70
  end
@@ -0,0 +1,20 @@
1
+
2
+ module GM
3
+
4
+ module Configuration
5
+
6
+ def self.included(base)
7
+ base.extend GM::Configuration::ClassMethods
8
+ end
9
+
10
+ module ClassMethods
11
+
12
+ def specify_conf(&block)
13
+ EC.store.specify(&block)
14
+ end
15
+
16
+ end
17
+
18
+ end
19
+
20
+ end
data/lib/gm/helpers.rb ADDED
@@ -0,0 +1,20 @@
1
+
2
+ module GM
3
+
4
+ module Helpers
5
+
6
+ def app
7
+ GM.app
8
+ end
9
+
10
+ def config
11
+ EC.store.config
12
+ end
13
+
14
+ def spec
15
+ GM.app.gemspec
16
+ end
17
+
18
+ end
19
+
20
+ end
data/lib/gm/loader.rb CHANGED
@@ -66,7 +66,7 @@ module GM
66
66
  options[:extends].each do |mod|
67
67
  mod.send :extend, mod
68
68
  end
69
- mod.module_eval IO.read(path)
69
+ mod.module_eval(IO.read(path), path)
70
70
 
71
71
  unless options[:only_eval]
72
72
  cmd_class = (mod.module_eval(cmd_name) rescue nil)
data/lib/gm/network.rb CHANGED
@@ -4,6 +4,8 @@ module GM
4
4
  class Network
5
5
 
6
6
  include GM::Documentation
7
+ include GM::Configuration
8
+ include GM::Helpers
7
9
  include GM::System
8
10
  include GM::Loader
9
11
 
@@ -22,12 +24,6 @@ module GM
22
24
  published_versions.include? version
23
25
  end
24
26
 
25
- protected
26
-
27
- def app
28
- GM.app
29
- end
30
-
31
27
  end
32
28
 
33
29
  end
@@ -28,19 +28,4 @@ class GemExtentionsTest < Test::Unit::TestCase
28
28
  assert_equal paths, Gem.find_recent_resources('lib/autotest/discover.rb')
29
29
  end
30
30
 
31
- context "Gem::Specification" do
32
-
33
- setup do
34
- configatron.reset!
35
- configatron.configure_from_hash({ 'hello' => { 'world' => 'sun' } })
36
- @spec = Gem::Specification.new
37
- end
38
-
39
- should "treat Configatron::Store as nil" do
40
- assert_equal 'nil', @spec.send(:ruby_code, configatron.hello)
41
- end
42
-
43
- end
44
-
45
-
46
31
  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.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Menke
@@ -9,17 +9,17 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-22 00:00:00 -08:00
12
+ date: 2009-01-25 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: configatron
16
+ name: simonmenke-ec
17
17
  version_requirement:
18
18
  version_requirements: !ruby/object:Gem::Requirement
19
19
  requirements:
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 2.2.1
22
+ version: 0.0.3
23
23
  version:
24
24
  - !ruby/object:Gem::Dependency
25
25
  name: clip
@@ -49,18 +49,21 @@ extensions: []
49
49
  extra_rdoc_files: []
50
50
 
51
51
  files:
52
- - LICENSE.txt
53
- - README.textile
54
- - bin/gem-make
55
- - bin/gm
56
- - test/command_test.rb
57
- - test/configatron_test.rb
58
- - test/configuration_pass_queue_test.rb
59
- - test/configuration_pass_test.rb
60
- - test/gem_extentions_test.rb
61
- - test/system_test.rb
62
- - test/test_helper.rb
52
+ - gm_generators/bin/bin_generator.rb
53
+ - gm_generators/bin/templates/bin/bin.rb
54
+ - gm_generators/gem/gem_generator.rb
55
+ - gm_generators/gem/templates/Gmfile
56
+ - gm_generators/gem/templates/README.textile
57
+ - gm_generators/gem/templates/lib/module.rb
58
+ - gm_generators/mit_license/mit_license_generator.rb
59
+ - gm_generators/mit_license/templates/LICENSE.txt
60
+ - gm_generators/rails/rails_generator.rb
61
+ - gm_generators/rails/templates/rails/init.rb
62
+ - gm_generators/test/templates/test_case.rb.erb
63
+ - gm_generators/test/templates/test_helper.rb.erb
64
+ - gm_generators/test/test_generator.rb
63
65
  - gm_commands/build_command.rb
66
+ - gm_commands/build_gemspec_command.rb
64
67
  - gm_commands/clean_command.rb
65
68
  - gm_commands/config_command.rb
66
69
  - gm_commands/create_command.rb
@@ -69,54 +72,53 @@ files:
69
72
  - gm_commands/install_command.rb
70
73
  - gm_commands/publish_command.rb
71
74
  - gm_commands/spec_command.rb
72
- - gm_passes/clean_file_list.rb
73
- - gm_passes/configatron.rb
74
- - gm_passes/defaults.rb
75
- - gm_passes/executables.rb
76
- - gm_passes/files.rb
77
- - gm_passes/github.rb
78
- - gm_passes/gm.rb
79
- - gm_passes/rails.rb
80
- - gm_passes/rubigen.rb
81
- - gm_passes/specs.rb
82
- - gm_passes/test.rb
75
+ - gm_behaviors/author_behavior.rb
76
+ - gm_behaviors/bin_files_behavior.rb
77
+ - gm_behaviors/dependencies_behavior.rb
78
+ - gm_behaviors/executables_behavior.rb
79
+ - gm_behaviors/general_behavior.rb
80
+ - gm_behaviors/github_behavior.rb
81
+ - gm_behaviors/gm_files_behavior.rb
82
+ - gm_behaviors/lib_files_behavior.rb
83
+ - gm_behaviors/rails_behavior.rb
84
+ - gm_behaviors/rdoc_behavior.rb
85
+ - gm_behaviors/rspec_behavior.rb
86
+ - gm_behaviors/rubigen_behavior.rb
87
+ - gm_behaviors/rubyforge_behavior.rb
88
+ - gm_behaviors/test_behavior.rb
89
+ - gm_behaviors/text_files_behavior.rb
83
90
  - gm_networks/github_network.rb
91
+ - gm_networks/rubyforge_network.rb
84
92
  - gm_generators/bin
85
- - gm_generators/bin/bin_generator.rb
86
93
  - gm_generators/bin/templates
87
94
  - gm_generators/bin/templates/bin
88
- - gm_generators/bin/templates/bin/bin.rb
89
95
  - gm_generators/gem
90
- - gm_generators/gem/gem_generator.rb
91
96
  - gm_generators/gem/templates
92
- - gm_generators/gem/templates/Gmfile
93
- - gm_generators/gem/templates/README.textile
94
97
  - gm_generators/gem/templates/lib
95
- - gm_generators/gem/templates/lib/module.rb
96
98
  - gm_generators/mit_license
97
- - gm_generators/mit_license/mit_license_generator.rb
98
99
  - gm_generators/mit_license/templates
99
- - gm_generators/mit_license/templates/LICENSE.txt
100
100
  - gm_generators/rails
101
- - gm_generators/rails/rails_generator.rb
102
101
  - gm_generators/rails/templates
103
102
  - gm_generators/rails/templates/rails
104
- - gm_generators/rails/templates/rails/init.rb
105
103
  - gm_generators/test
106
104
  - gm_generators/test/templates
107
- - gm_generators/test/templates/test_case.rb.erb
108
- - gm_generators/test/templates/test_helper.rb.erb
109
- - gm_generators/test/test_generator.rb
105
+ - test/command_test.rb
106
+ - test/gem_extentions_test.rb
107
+ - test/system_test.rb
108
+ - test/test_helper.rb
109
+ - bin/gem-make
110
+ - bin/gm
111
+ - LICENSE.txt
112
+ - README.textile
110
113
  - lib/autotest/discover.rb
111
114
  - lib/autotest/gm.rb
112
- - lib/extentions/configatron.rb
113
115
  - lib/extentions/gem.rb
114
116
  - lib/gm/app.rb
117
+ - lib/gm/behavior.rb
115
118
  - lib/gm/command.rb
116
- - lib/gm/configuration_pass.rb
117
- - lib/gm/configuration_pass_queue.rb
119
+ - lib/gm/configuration.rb
118
120
  - lib/gm/documentation.rb
119
- - lib/gm/dsl.rb
121
+ - lib/gm/helpers.rb
120
122
  - lib/gm/loader.rb
121
123
  - lib/gm/network.rb
122
124
  - lib/gm/system.rb
@@ -149,9 +151,6 @@ specification_version: 2
149
151
  summary: Building gems the clean way.
150
152
  test_files:
151
153
  - test/command_test.rb
152
- - test/configatron_test.rb
153
- - test/configuration_pass_queue_test.rb
154
- - test/configuration_pass_test.rb
155
154
  - test/gem_extentions_test.rb
156
155
  - test/system_test.rb
157
156
  - test/test_helper.rb
@@ -1,15 +0,0 @@
1
-
2
- desc "Remove dir and duplicate paths"
3
-
4
- finalization_pass :clean_file_list do |spec|
5
-
6
- spec.files.reject! { |path| File.directory? path }
7
- spec.files.reject! { |path| File.basename(path) == '.DS_Store' }
8
- spec.files.reject! { |path| File.basename(path) == '.gitignore' }
9
- spec.files.reject! { |path| path.include? '/.svn' }
10
- spec.files.reject! { |path| path.include? '/.git' }
11
- spec.files.uniq!
12
- spec.files.compact!
13
- spec.files.sort!
14
-
15
- end