simonmenke-gm 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
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