noe 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. data/CHANGELOG.md +11 -0
  2. data/Gemfile.lock +19 -19
  3. data/bin/noe +1 -1
  4. data/lib/noe/commons.rb +2 -2
  5. data/lib/noe/config.rb +58 -30
  6. data/lib/noe/default.yaml +29 -0
  7. data/lib/noe/ext/hash.rb +9 -1
  8. data/lib/noe/go.rb +3 -1
  9. data/lib/noe/help.rb +3 -6
  10. data/lib/noe/install.rb +1 -1
  11. data/lib/noe/list.rb +5 -5
  12. data/lib/noe/main.rb +1 -1
  13. data/lib/noe/template.rb +7 -2
  14. data/lib/noe/version.rb +1 -1
  15. data/noe.gemspec +5 -5
  16. data/noe.noespec +15 -10
  17. data/spec/fixtures/typitpl/noespec.yaml +10 -0
  18. data/spec/fixtures/typitpl/src/README.txt +1 -0
  19. data/spec/integration/go/after_prepare/README.md +1 -0
  20. data/spec/integration/go/after_prepare/after_prepare.noespec +6 -0
  21. data/spec/integration/go/go_spec.rb +6 -0
  22. data/spec/{spec_helper.rb → integration/spec_helper.rb} +1 -0
  23. data/spec/unit/config/config1.yaml +3 -0
  24. data/spec/unit/config/new_spec.rb +52 -0
  25. data/spec/unit/config/templates_dir_spec.rb +39 -0
  26. data/spec/{ext → unit/ext}/hash/methodize_spec.rb +1 -1
  27. data/spec/unit/ext/hash/noe_merge_spec.rb +66 -0
  28. data/spec/{noe_spec.rb → unit/noe_spec.rb} +0 -0
  29. data/spec/unit/spec_helper.rb +3 -0
  30. data/spec/{template → unit/template}/entry/infer_wlang_dialect_spec.rb +0 -0
  31. data/spec/{template → unit/template}/entry/relocate_spec.rb +1 -1
  32. data/spec/{template → unit/template}/entry/rename_one_spec.rb +1 -1
  33. data/tasks/debug_mail.rake +2 -2
  34. data/tasks/spec_test.rake +1 -1
  35. data/tasks/unit_test.rake +2 -2
  36. data/templates/ruby/CHANGELOG.md +36 -27
  37. data/templates/ruby/noespec.yaml +9 -12
  38. data/templates/ruby/short.yaml +6 -6
  39. data/templates/ruby/src/spec/{__lower___spec.rb → test___lower__.rb} +0 -0
  40. data/templates/ruby/src/tasks/unit_test.rake +1 -1
  41. metadata +87 -69
  42. data/templates/ruby/src/.gemtest +0 -0
@@ -1,3 +1,14 @@
1
+ # 1.4.0 / FIX ME
2
+
3
+ * Enhancements
4
+
5
+ * Added an ignore entry in manifest that allows completely ignoring a file or
6
+ directory.
7
+
8
+ * Default ruby skeleton
9
+
10
+ * Fixed some error messages
11
+
1
12
  # 1.3.0 / 2011-02-03
2
13
 
3
14
  * Bug fixes
@@ -1,38 +1,38 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- noe (1.3.0)
4
+ noe (1.4.0)
5
5
  highline (~> 1.6.0)
6
- quickl (~> 0.2.0)
6
+ quickl (~> 0.3.0)
7
7
  wlang (~> 0.10.1)
8
8
 
9
9
  GEM
10
10
  remote: http://rubygems.org/
11
11
  specs:
12
- bluecloth (2.0.9)
12
+ bluecloth (2.1.0)
13
13
  diff-lcs (1.1.2)
14
- highline (1.6.1)
15
- quickl (0.2.0)
16
- rake (0.8.7)
17
- rspec (2.4.0)
18
- rspec-core (~> 2.4.0)
19
- rspec-expectations (~> 2.4.0)
20
- rspec-mocks (~> 2.4.0)
21
- rspec-core (2.4.0)
22
- rspec-expectations (2.4.0)
14
+ highline (1.6.2)
15
+ quickl (0.3.0)
16
+ rake (0.9.2)
17
+ rspec (2.6.0)
18
+ rspec-core (~> 2.6.0)
19
+ rspec-expectations (~> 2.6.0)
20
+ rspec-mocks (~> 2.6.0)
21
+ rspec-core (2.6.4)
22
+ rspec-expectations (2.6.0)
23
23
  diff-lcs (~> 1.1.2)
24
- rspec-mocks (2.4.0)
25
- wlang (0.10.1)
26
- yard (0.6.4)
24
+ rspec-mocks (2.6.0)
25
+ wlang (0.10.2)
26
+ yard (0.7.2)
27
27
 
28
28
  PLATFORMS
29
29
  ruby
30
30
 
31
31
  DEPENDENCIES
32
- bluecloth (~> 2.0.9)
32
+ bluecloth (~> 2.1.0)
33
33
  bundler (~> 1.0)
34
34
  noe!
35
- rake (~> 0.8.7)
36
- rspec (~> 2.4.0)
35
+ rake (~> 0.9.2)
36
+ rspec (~> 2.6.0)
37
37
  wlang (~> 0.10.1)
38
- yard (~> 0.6.4)
38
+ yard (~> 0.7.2)
data/bin/noe CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env ruby -rubygems
1
+ #!/usr/bin/env ruby
2
2
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
3
3
  require 'noe'
4
4
  Noe::Main.run(ARGV)
@@ -27,7 +27,7 @@ module Noe
27
27
  def find_noespec_file(args)
28
28
  # Find spec file
29
29
  spec_file = if args.size == 1
30
- valid_read_file!(args.first)
30
+ Quickl.valid_read_file!(args.first)
31
31
  else
32
32
  spec_files = Dir['*.noespec']
33
33
  if spec_files.size > 1
@@ -38,4 +38,4 @@ module Noe
38
38
  end
39
39
 
40
40
  end # module Commons
41
- end # module Noe
41
+ end # module Noe
@@ -1,48 +1,77 @@
1
1
  module Noe
2
2
  class Config
3
3
 
4
- # Default configuration hash
5
- DEFAULT_CONFIG = {
6
- 'version' => Noe::VERSION,
7
- 'templates-dir' => File.expand_path('../../../templates', __FILE__),
8
- 'default' => 'ruby'
9
- }
4
+ # Path to the default configuration file
5
+ DEFAULT_CONFIG_FILE = File.expand_path('../default.yaml', __FILE__)
10
6
 
11
- # Path to the configuration file
12
- attr_reader :file
7
+ # Default configuration hash
8
+ DEFAULT_CONFIG = YAML::load(File.read(DEFAULT_CONFIG_FILE)).merge(
9
+ 'config_file' => DEFAULT_CONFIG_FILE,
10
+ 'version' => Noe::VERSION)
13
11
 
14
12
  # Loaded configuration hash
15
13
  attr_reader :config
16
14
 
15
+ # Creates a config instance with a loaded Hash
16
+ def initialize(config)
17
+ @config = DEFAULT_CONFIG.merge(config)
18
+ end
19
+
17
20
  # Creates a config instance from some .noerc file
18
- def initialize(file = nil)
19
- @config = DEFAULT_CONFIG
20
- @file = file
21
- __load unless file.nil?
21
+ def self.new(arg = DEFAULT_CONFIG)
22
+ case arg
23
+ when Hash
24
+ super
25
+ when String
26
+ __load_from_file(arg)
27
+ when NilClass
28
+ super(DEFAULT_CONFIG)
29
+ else
30
+ raise ArgumentError, "Unable to load config from #{arg}"
31
+ end
22
32
  end
23
33
 
24
34
  # Loads configuration from YAML file
25
- def __load
26
- if File.file?(file) and File.readable?(file)
27
- loaded = YAML::load(File.read(file))
28
- if loaded.is_a?(Hash)
29
- @config.merge!(loaded)
30
- else
31
- raise Noe::Error, "Corrupted or invalid config file: #{file}"
32
- end
33
- else
35
+ def self.__load_from_file(file)
36
+ # check loaded file
37
+ file = File.expand_path(file)
38
+ unless File.file?(file) and File.readable?(file)
34
39
  raise Noe::Error, "Not a file or not readable: #{file}"
35
40
  end
41
+
42
+ # load YAML
43
+ loaded = YAML::load(File.read(file))
44
+ unless loaded.is_a?(Hash)
45
+ raise Noe::Error, "Corrupted or invalid config file: #{file}"
46
+ end
47
+
48
+ # Build the config
49
+ config_hash = loaded.merge('config_file' => file)
50
+ config = Config.new(config_hash)
51
+
52
+ # Some sanity check
53
+ templates_dir = config.templates_dir
54
+ unless File.directory?(templates_dir) and File.readable?(templates_dir)
55
+ raise Noe::Error, "Invalid noe config, not a directory or unreadable: #{templates_dir}"
56
+ end
57
+
58
+ config
59
+ end
60
+
61
+ # Returns the path of the config file itself
62
+ def file
63
+ config['config_file']
36
64
  end
37
65
 
38
- # Returns folder where templates are located
66
+ # Returns folder where templates are located. Always returns an
67
+ # absolute path.
39
68
  def templates_dir
40
- dir = config['templates-dir']
41
- if File.directory?(dir) and File.readable?(dir)
42
- dir
43
- else
44
- raise Noe::Error, "Invalid noe config, not a directory or unreadable: #{dir}"
45
- end
69
+ @templates_dir ||= File.expand_path(config['templates-dir'], File.dirname(file))
70
+ end
71
+
72
+ # Returns expected noe's version
73
+ def noe_version
74
+ config['version']
46
75
  end
47
76
 
48
77
  # Returns the name of the default template to use
@@ -55,6 +84,5 @@ module Noe
55
84
  config['default'] = name
56
85
  end
57
86
 
58
- private :__load
59
87
  end # class Config
60
- end # module Noe
88
+ end # module Noe
@@ -0,0 +1,29 @@
1
+ #
2
+ # .noerc - Configuration of Noe, a simple project generator.
3
+ #
4
+ # This file provides Noe's configuration. More information can be
5
+ # found at https://github.com/blambeau/noe.
6
+ #
7
+ # If you want to regenerate a fresh new file, simply run:
8
+ #
9
+ # noe install
10
+ #
11
+
12
+ # This is Noe's version, change only if you known what you
13
+ # are doing!
14
+ #version:
15
+ # !{Noe::VERSION}
16
+
17
+ #
18
+ # Absolute path to the folder containing Noe's templates.
19
+ #
20
+ templates-dir:
21
+ ../../templates
22
+
23
+ #
24
+ # Name of the default template that you want to use. Commands
25
+ # that need a template (see 'noe help prepare', for example) use this
26
+ # by default, and allow overriding it via a --template=NAME option.
27
+ #
28
+ default:
29
+ ruby
@@ -35,6 +35,14 @@ class Hash
35
35
  end
36
36
 
37
37
  module Methodize
38
+
39
+ def gem(*args, &block)
40
+ if args.empty? && block.nil? && (self[:gem] || self["gem"])
41
+ self[:gem] || self["gem"]
42
+ else
43
+ super
44
+ end
45
+ end
38
46
 
39
47
  # Allows using hash.key as a synonym for hash[:key] and
40
48
  # hash['key']
@@ -48,4 +56,4 @@ class Hash
48
56
 
49
57
  end
50
58
 
51
- end
59
+ end
@@ -132,6 +132,7 @@ module Noe
132
132
  end
133
133
 
134
134
  def build_one_directory(entry, variables)
135
+ return if entry.ignore?
135
136
  relocated = entry.relocate(variables)
136
137
  todo = []
137
138
 
@@ -169,6 +170,7 @@ module Noe
169
170
  end
170
171
 
171
172
  def build_one_file(entry, variables)
173
+ return if entry.ignore?
172
174
  relocated = entry.relocate(variables)
173
175
  todo = []
174
176
 
@@ -237,7 +239,7 @@ module Noe
237
239
  elsif entry.directory?
238
240
  build_one_directory(entry, variables)
239
241
  end
240
- }.flatten
242
+ }.flatten.compact
241
243
 
242
244
  # let's go now
243
245
  if dry_run
@@ -13,12 +13,9 @@ module Noe
13
13
 
14
14
  # Command execution
15
15
  def execute(args)
16
- if args.size != 1
17
- puts super_command.help
18
- else
19
- cmd = has_command!(args.first, super_command)
20
- puts cmd.help
21
- end
16
+ sup = Quickl.super_command(self)
17
+ sub = (args.size != 1) ? sup : Quickl.sub_command!(sup, args.first)
18
+ puts Quickl.help(sub)
22
19
  end
23
20
 
24
21
  end # class Help
@@ -54,7 +54,7 @@ module Noe
54
54
  end
55
55
  File.open(noerc_file, 'w') do |out|
56
56
  def_config = File.join(File.dirname(__FILE__), 'config.yaml')
57
- context = { :templates_dir => noe_folder}
57
+ context = { :templates_dir => noe_folder }
58
58
  out << WLang::file_instantiate(def_config, context, 'wlang/active-string')
59
59
  end
60
60
 
@@ -44,16 +44,16 @@ module Noe
44
44
  [ tpl.name, "", "", "Template error: #{ex.message}" ]
45
45
  end
46
46
  }
47
- lengths = data.inject([0,0,0,0]){|memo,columns|
48
- (0..3).collect{|i| max(memo[i], columns[i].to_s.length)}
47
+ lengths = data.inject([0,0,0,0]){|memo,cols|
48
+ (0..3).collect{|i| max(memo[i], cols[i].to_s.length)}
49
49
  }
50
50
  puts "Templates available in #{templates_dir}"
51
51
  data.each_with_index do |line,i|
52
52
  current = (config.default == line[0])
53
- puts (current ? " -> " : " ") +
54
- "%-#{lengths[0]}s %-#{lengths[1]}s %-#{lengths[2]}s %-#{lengths[3]}s" % line
53
+ arrow = (current ? " -> " : " ")
54
+ puts arrow + "%-#{lengths[0]}s %-#{lengths[1]}s %-#{lengths[2]}s %-#{lengths[3]}s" % line
55
55
  if i==0
56
- puts "-"*lengths.inject(0){|memo,i| memo+i+3}
56
+ puts "-"*lengths.inject(0){|memo,j| memo+j+3}
57
57
  end
58
58
  end
59
59
  end
@@ -47,7 +47,7 @@ module Noe
47
47
  # Set a specific configuration file to use
48
48
  opt.on('--config=FILE',
49
49
  'Use a specific config file (defaults to ~/.noerc)') do |f|
50
- @config_file = valid_read_file!(f)
50
+ @config_file = Quickl.valid_read_file!(f)
51
51
  end
52
52
  # Show backtrace on error
53
53
  opt.on_tail("--backtrace",
@@ -213,12 +213,17 @@ module Noe
213
213
  res ? res : (default || 'wlang/active-text')
214
214
  end
215
215
 
216
- # Is this entry safe to override
216
+ # Is this entry safe to override?
217
217
  def safe_override?
218
218
  manifest['safe-override']
219
219
  end
220
+
221
+ # Is this entry marked as to be ignored?
222
+ def ignore?
223
+ manifest['ignore']
224
+ end
220
225
 
221
226
  end # class Entry
222
227
 
223
228
  end # class Template
224
- end # module Noe
229
+ end # module Noe
@@ -2,7 +2,7 @@ module Noe
2
2
  module Version
3
3
 
4
4
  MAJOR = 1
5
- MINOR = 3
5
+ MINOR = 4
6
6
  TINY = 0
7
7
 
8
8
  def self.to_s
@@ -123,14 +123,14 @@ Gem::Specification.new do |s|
123
123
  # One call to add_development_dependency('gem_name', 'gem version requirement')
124
124
  # for each development dependency. These gems are required for developers
125
125
  #
126
- s.add_development_dependency("rake", "~> 0.8.7")
126
+ s.add_development_dependency("rake", "~> 0.9.2")
127
127
  s.add_development_dependency("bundler", "~> 1.0")
128
- s.add_development_dependency("rspec", "~> 2.4.0")
129
- s.add_development_dependency("yard", "~> 0.6.4")
130
- s.add_development_dependency("bluecloth", "~> 2.0.9")
128
+ s.add_development_dependency("rspec", "~> 2.6.0")
129
+ s.add_development_dependency("yard", "~> 0.7.2")
130
+ s.add_development_dependency("bluecloth", "~> 2.1.0")
131
131
  s.add_development_dependency("wlang", "~> 0.10.1")
132
132
  s.add_dependency("wlang", "~> 0.10.1")
133
- s.add_dependency("quickl", "~> 0.2.0")
133
+ s.add_dependency("quickl", "~> 0.3.0")
134
134
  s.add_dependency("highline", "~> 1.6.0")
135
135
 
136
136
  # The version of ruby required by this gem
@@ -1,11 +1,16 @@
1
1
  template-info:
2
2
  name: ruby
3
- version: 1.3.0
3
+ version: 1.4.0
4
4
  author: Bernard Lambeau <blambeau@gmail.com>
5
+ manifest:
6
+ spec/spec_helper.rb:
7
+ ignore: true
8
+ spec/test___lower__.rb:
9
+ ignore: true
5
10
  variables:
6
11
  lower: noe
7
12
  upper: Noe
8
- version: 1.3.0
13
+ version: 1.4.0
9
14
  summary:
10
15
  Noe is a simple, general-purpose and extensible skeleton generator from project templates
11
16
  description:
@@ -22,15 +27,18 @@ variables:
22
27
  - http://rubygems.org/gems/noe
23
28
  - http://revision-zero.org/noe
24
29
  dependencies:
25
- - {name: rake, version: "~> 0.8.7", groups: [development]}
30
+ - {name: rake, version: "~> 0.9.2", groups: [development]}
26
31
  - {name: bundler, version: "~> 1.0", groups: [development]}
27
- - {name: rspec, version: "~> 2.4.0", groups: [development]}
28
- - {name: yard, version: "~> 0.6.4", groups: [development]}
29
- - {name: bluecloth, version: "~> 2.0.9", groups: [development]}
32
+ - {name: rspec, version: "~> 2.6.0", groups: [development]}
33
+ - {name: yard, version: "~> 0.7.2", groups: [development]}
34
+ - {name: bluecloth, version: "~> 2.1.0", groups: [development]}
30
35
  #
31
36
  - {name: wlang, version: "~> 0.10.1", groups: [development, runtime]}
32
- - {name: quickl, version: "~> 0.2.0", groups: [runtime]}
37
+ - {name: quickl, version: "~> 0.3.0", groups: [runtime]}
33
38
  - {name: highline, version: "~> 1.6.0", groups: [runtime]}
39
+ rake_tasks:
40
+ spec_test:
41
+ pattern: spec/unit/**/*_spec.rb
34
42
  gemspec:
35
43
  post_install_message: |
36
44
  Noe successfully installed!
@@ -40,6 +48,3 @@ variables:
40
48
  - 'noe prepare --template=ruby hello_world'
41
49
 
42
50
  Thank you for using Noe, enjoy!
43
- rake_tasks:
44
- debug_mail:
45
- nb_changelog_sections: 2
@@ -0,0 +1,10 @@
1
+ template-info:
2
+ name: "!{template_name}"
3
+ version: 1.3.0
4
+ manifest:
5
+ README.txt:
6
+ description: The readme file
7
+ safe-override: false
8
+ variables:
9
+ lower: hello_world
10
+ upper: HelloWorld
@@ -0,0 +1 @@
1
+ This is a typical readme, about !{lower}, aka !{upper}
@@ -0,0 +1 @@
1
+ This is a typical readme, about after_prepare, aka AfterPrepare
@@ -0,0 +1,6 @@
1
+ template-info:
2
+ name: "!{template_name}"
3
+ version: 1.3.0
4
+ variables:
5
+ lower: after_prepare
6
+ upper: AfterPrepare
@@ -0,0 +1,6 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+ describe 'noe go' do
3
+
4
+ let(:go){ Noe::Main::Go.new }
5
+
6
+ end
@@ -1,2 +1,3 @@
1
+ $noe_root = File.expand_path('../../../', __FILE__)
1
2
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
3
  require 'noe'
@@ -0,0 +1,3 @@
1
+ version: 1.0.0
2
+ templates-dir: templates
3
+ default: empty
@@ -0,0 +1,52 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+ module Noe
3
+ describe "Config.new" do
4
+
5
+ context 'without argument' do
6
+ subject{ Config.new }
7
+
8
+ it 'should create a default configuration' do
9
+ subject.should be_kind_of(Config)
10
+ subject.noe_version.should == Noe::VERSION
11
+ subject.file.should_not be_nil
12
+ end
13
+
14
+ end # without argument
15
+
16
+ context 'with a hash' do
17
+ let(:hash){ {'config_file' => File.expand_path("../config1.yaml", __FILE__)} }
18
+ subject{ Config.new(hash) }
19
+
20
+ it 'should create a configuration instance' do
21
+ subject.file.should_not be_nil
22
+ end
23
+
24
+ it 'should have merged the default config' do
25
+ subject.noe_version.should == Noe::VERSION
26
+ end
27
+
28
+ end # with a hash
29
+
30
+ context 'with an invalid file' do
31
+
32
+ it 'should raise a Noe::Error' do
33
+ file = File.expand_path("../unexistsing.yaml", __FILE__)
34
+ lambda{ Config.new(file) }.should raise_error(Noe::Error)
35
+ end
36
+
37
+ end # with an invalid file
38
+
39
+ context 'with an valid file' do
40
+ let(:file){ File.expand_path("../config1.yaml", __FILE__) }
41
+ subject{ Config.new(file) }
42
+
43
+ it 'should create a valid configuration' do
44
+ subject.should be_kind_of(Config)
45
+ subject.noe_version.should == "1.0.0"
46
+ subject.file.should == file
47
+ end
48
+
49
+ end # with an valid file
50
+
51
+ end
52
+ end
@@ -0,0 +1,39 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+ module Noe
3
+ describe "Config#templates_dir" do
4
+
5
+ subject{ config.templates_dir }
6
+
7
+ context 'on default config' do
8
+ let(:config){ Config.new }
9
+
10
+ it "should be Noe's template dir" do
11
+ subject.should == File.join($noe_root, "templates")
12
+ end
13
+
14
+ end # on default config
15
+
16
+ context 'when a relative path is used' do
17
+ let(:file) { File.expand_path("../config1.yaml", __FILE__) }
18
+ let(:config){ Config.new(file) }
19
+
20
+ it "should be an absolute path" do
21
+ subject.should == File.expand_path("../templates", __FILE__)
22
+ end
23
+
24
+ end # relative path
25
+
26
+ context 'when an absolute path is used' do
27
+ let(:file) { File.expand_path("../config1.yaml", __FILE__) }
28
+ let(:tdir) { File.expand_path("../templates", __FILE__) }
29
+ let(:hash) { { "config_file" => file, "templates-dir" => tdir } }
30
+ let(:config){ Config.new(hash) }
31
+
32
+ it "should stay an absolute path" do
33
+ subject.should == tdir
34
+ end
35
+
36
+ end
37
+
38
+ end # Config#templates_dir
39
+ end # module Noe
@@ -18,7 +18,7 @@ module Noe
18
18
  thehash.subarray[0].entry.should == 12
19
19
  end
20
20
 
21
- it "should noe recursive if explicitely said" do
21
+ it "should not be recursive if explicitely said" do
22
22
  thehash.methodize!(false)
23
23
  thehash.name.should == "Noe"
24
24
  thehash.version.should == Noe::VERSION
@@ -0,0 +1,66 @@
1
+ require File.expand_path('../../../spec_helper', __FILE__)
2
+ module Noe
3
+ describe "Hash#noe_merge" do
4
+
5
+ subject{ left.noe_merge(right) }
6
+
7
+ context 'on flat hashes' do
8
+
9
+ let(:left){ {
10
+ 'only_on_left' => 'only_on_left_value',
11
+ 'common' => 'common_value',
12
+ 'a_common_boolean' => true,
13
+ 'a_common_integer' => 12,
14
+ 'a_common_array' => [ 1, 2, 3 ]
15
+ }}
16
+
17
+ let(:right){ {
18
+ 'only_on_right' => 'only_on_right_value',
19
+ 'common' => 'common_value',
20
+ 'a_common_boolean' => false,
21
+ 'a_common_integer' => 14,
22
+ 'a_common_array' => [ 1 ]
23
+ }}
24
+
25
+ it 'should be a simple Hash merge' do
26
+ subject.should == left.merge(right)
27
+ end
28
+
29
+ end # on flat hashes
30
+
31
+ context 'when hashes contain hashes' do
32
+ let(:left){{
33
+ 'only_on_left' => 'only_on_left_value',
34
+ 'common_hash' => {
35
+ 'sub_key_only_on_left' => 'sub_key_only_on_left_value',
36
+ 'common_sub_key' => 'common_sub_key_on_left',
37
+ 'third_level' => { 'value' => 12 }
38
+ }
39
+ }}
40
+ let(:right){{
41
+ 'only_on_right' => 'only_on_right_value',
42
+ 'common_hash' => {
43
+ 'sub_key_only_on_right' => 'sub_key_only_on_right_value',
44
+ 'common_sub_key' => 'common_sub_key_on_right',
45
+ 'third_level' => { 'value' => 13 }
46
+ }
47
+ }}
48
+ let(:expected){{
49
+ 'only_on_left' => 'only_on_left_value',
50
+ 'only_on_right' => 'only_on_right_value',
51
+ 'common_hash' => {
52
+ 'sub_key_only_on_left' => 'sub_key_only_on_left_value',
53
+ 'sub_key_only_on_right' => 'sub_key_only_on_right_value',
54
+ 'common_sub_key' => 'common_sub_key_on_right',
55
+ 'third_level' => { 'value' => 13 }
56
+ }
57
+ }}
58
+
59
+ it 'should override recursively' do
60
+ subject.should == expected
61
+ end
62
+
63
+ end
64
+
65
+ end # Hash#noe_merge
66
+ end # module Noe
File without changes
@@ -0,0 +1,3 @@
1
+ $noe_root = File.expand_path('../../../', __FILE__)
2
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
3
+ require 'noe'
@@ -3,7 +3,7 @@ module Noe
3
3
  describe "Template::Entry#relocate" do
4
4
 
5
5
  let(:template){
6
- Template.new(File.expand_path('../../../../templates/ruby', __FILE__))
6
+ Template.new(File.expand_path('../../../../../templates/ruby', __FILE__))
7
7
  }
8
8
  let(:vars){
9
9
  {"lower" => "project"}
@@ -3,7 +3,7 @@ module Noe
3
3
  describe "Template::Entry#rename_one" do
4
4
 
5
5
  let(:template){
6
- Template.new(File.expand_path('../../../../templates/ruby', __FILE__))
6
+ Template.new(File.expand_path('../../../../../templates/ruby', __FILE__))
7
7
  }
8
8
  let(:vars){
9
9
  {"lower" => "project"}
@@ -56,8 +56,8 @@ begin
56
56
  # Load interesting changesets
57
57
  changes, end_found = [], 0
58
58
  File.readlines(logs.first).select{|line|
59
- if line =~ /^#/
60
- break if end_found >= 2
59
+ if line =~ /^# /
60
+ break if end_found >= 1
61
61
  end_found += 1
62
62
  end
63
63
  changes << line
@@ -30,7 +30,7 @@ begin
30
30
  desc "Run RSpec code examples"
31
31
  RSpec::Core::RakeTask.new(:spec_test) do |t|
32
32
  # Glob pattern to match files.
33
- t.pattern = "spec/**/*_spec.rb"
33
+ t.pattern = "spec/unit/**/*_spec.rb"
34
34
 
35
35
  # By default, if there is a Gemfile, the generated command will include
36
36
  # 'bundle exec'. Set this to true to ignore the presence of a Gemfile,
@@ -45,7 +45,7 @@ begin
45
45
  t.warning = false
46
46
 
47
47
  # Glob pattern to match test files. (default is 'test/test*.rb')
48
- t.pattern = "test/test*.rb"
48
+ t.pattern = "test/test_*.rb"
49
49
 
50
50
  # Style of test loader to use. Options are:
51
51
  #
@@ -68,7 +68,7 @@ begin
68
68
  end
69
69
  rescue LoadError => ex
70
70
  task :unit_test do
71
- abort 'rspec is not available. In order to run spec, you must: gem install rspec'
71
+ abort "rake/testtask does not seem available...\n #{ex.message}"
72
72
  end
73
73
  ensure
74
74
  desc "Run all tests"
@@ -1,37 +1,46 @@
1
- # 1.3.0 / FIX ME
1
+ # 1.4.0 / FIXME
2
2
 
3
- * Enhanced the way library version is handled. A !{upper}::Version module is now generated from
4
- the noespec (and is kept safe-overridable by default). !{upper}::VERSION is kept and is set by
5
- that module to the correct value. As a side effect, the .gemspec can now be built even if
6
- dependencies are not met.
7
- * Added the ability of the template to be tested with rubygems-test
8
- * spec/spec_helper.rb is not safe-override by default anymore
9
- * Fixed a bug that led 'rake -T' to ignore debug_mail
3
+ * Fixed some error messages
4
+ * Bumped all default dependencies to most recent library versions
5
+ * Removed .gemtest from the template
6
+ * Changes the spec and test patterns to test_*.rb and updated default spec
7
+ generated
8
+ * Changed the regular expression for changelog sections to /^# / instead of /^#/
9
+
10
+ # 1.3.0 / 2011-02-03
11
+
12
+ * Enhanced the way library version is handled. A !{upper}::Version module is now generated from
13
+ the noespec (and is kept safe-overridable by default). !{upper}::VERSION is kept and is set by
14
+ that module to the correct value. As a side effect, the .gemspec can now be built even if
15
+ dependencies are not met.
16
+ * Added the ability of the template to be tested with rubygems-test
17
+ * spec/spec_helper.rb is not safe-override by default anymore
18
+ * Fixed a bug that led 'rake -T' to ignore debug_mail
10
19
 
11
20
  # 1.2.0 / 2011-01-17
12
21
 
13
- * A 'description' variable is introduced in .noespec and made mandatory to avoid weird results
14
- on rubygems.org when using the whole README.md file for project description.
15
- * A 'version' variable is introduced in .noespec and made mandatory.
16
- * Enhanced 'rake package/gem' to be configurable from .noespec under variables/rake_tasks/gem
17
- * Enhanced 'rake unit_test' to be configurable from .noespec under variables/rake_tasks/unit_test
18
- * Enhanced 'rake spec_test' to be configurable from .noespec under variables/rake_tasks/unit_test
19
- * Enhanced 'rake yard' to be configurable from .noespec under variables/rake_tasks/yard
20
- * Added 'rake debug_mail' which is configurable from .noespec under variables/rake_tasks/debug_mail
21
- * lib/__lower__/loader.rb only use plain requires instead of a more complex algorithm. This follows
22
- the discussion with Luis Lavena on ruby-talk (http://bit.ly/gqukPw)
23
- * Added a proposal dependency (wlang ~> 0.10.1) required by the debug_mail task
24
- * Fixed tasks/unit_test.rake under 1.9.2 (raised 'no such file to load -- []' with options=[] instead
25
- of nil)
22
+ * A 'description' variable is introduced in .noespec and made mandatory to avoid weird results
23
+ on rubygems.org when using the whole README.md file for project description.
24
+ * A 'version' variable is introduced in .noespec and made mandatory.
25
+ * Enhanced 'rake package/gem' to be configurable from .noespec under variables/rake_tasks/gem
26
+ * Enhanced 'rake unit_test' to be configurable from .noespec under variables/rake_tasks/unit_test
27
+ * Enhanced 'rake spec_test' to be configurable from .noespec under variables/rake_tasks/unit_test
28
+ * Enhanced 'rake yard' to be configurable from .noespec under variables/rake_tasks/yard
29
+ * Added 'rake debug_mail' which is configurable from .noespec under variables/rake_tasks/debug_mail
30
+ * lib/__lower__/loader.rb only use plain requires instead of a more complex algorithm. This follows
31
+ the discussion with Luis Lavena on ruby-talk (http://bit.ly/gqukPw)
32
+ * Added a proposal dependency (wlang ~> 0.10.1) required by the debug_mail task
33
+ * Fixed tasks/unit_test.rake under 1.9.2 (raised 'no such file to load -- []' with options=[] instead
34
+ of nil)
26
35
 
27
36
  # 1.1.0 / 2011-01-11
28
37
 
29
- * Added the tasks folder with well documented rake tasks
30
- * Added a dependency loader in __lower__/loader.rb that helps requiring gems the good way
31
- * Added Bundler support to easy developer's job trough Gemfile and "require 'bundle/setup'" in Rakefile
32
- * LICENCE.txt -> LICENCE.md
33
- * Follows a lot of changes from Noe 1.0.0 -> 1.1.0
38
+ * Added the tasks folder with well documented rake tasks
39
+ * Added a dependency loader in __lower__/loader.rb that helps requiring gems the good way
40
+ * Added Bundler support to easy developer's job trough Gemfile and "require 'bundle/setup'" in Rakefile
41
+ * LICENCE.txt -> LICENCE.md
42
+ * Follows a lot of changes from Noe 1.0.0 -> 1.1.0
34
43
 
35
44
  # 1.0.0 / 2011-01-11
36
45
 
37
- * Birthday
46
+ * Birthday
@@ -21,7 +21,7 @@ template-info:
21
21
 
22
22
  # Don't remove the name and version entries, which are ALWAYS required
23
23
  name: "!{template_name}"
24
- version: 1.3.0
24
+ version: 1.4.0
25
25
 
26
26
  # The following entries are information about the template itself and can safely
27
27
  # be removed on your own project.
@@ -70,9 +70,6 @@ template-info:
70
70
  description: Information used by Bundler, the Ruby dependency manager
71
71
  safe-override: true
72
72
  wlang-dialect: wlang/ruby
73
- lib/.gemtest:
74
- description: Marker for rubygems-test
75
- safe-override: true
76
73
  lib/__lower__.rb:
77
74
  description: Main file of the ruby library
78
75
  safe-override: false
@@ -189,16 +186,16 @@ variables:
189
186
  #
190
187
  dependencies:
191
188
  # Rake is required for developers, as usual
192
- - {name: rake, version: "~> 0.8.7", groups: [development]}
189
+ - {name: rake, version: "~> 0.9.2", groups: [development]}
193
190
  # Bundler is required for developers and is used by the Rakefile
194
191
  - {name: bundler, version: "~> 1.0", groups: [development]}
195
192
  # RSpec is required to run 'rake spec'. See tasks/spec.rake
196
- - {name: rspec, version: "~> 2.4.0", groups: [development]}
193
+ - {name: rspec, version: "~> 2.6.0", groups: [development]}
197
194
  # YARD and BlueCloth are required to run 'rake yard'. See tasks/yard.rake
198
- - {name: yard, version: "~> 0.6.4", groups: [development]}
199
- - {name: bluecloth, version: "~> 2.0.9", groups: [development]}
195
+ - {name: yard, version: "~> 0.7.2", groups: [development]}
196
+ - {name: bluecloth, version: "~> 2.1.0", groups: [development]}
200
197
  # wlang is required to run 'rake debug_mail'. See tasks/debug_mail.rake
201
- - {name: wlang, version: "~> 0.10.1", groups: [development]}
198
+ - {name: wlang, version: "~> 0.10.2", groups: [development]}
202
199
 
203
200
  # Below are defined a certain number of specific variables for the .gemspec file
204
201
  # of your library. We'll include it here to keep .gemspec under Noe's control for
@@ -247,12 +244,12 @@ variables:
247
244
  debug_mail:
248
245
  # Regular expression to detect change sections in
249
246
  # the CHANGELOG file
250
- rx_changelog_sections: '/^#/'
247
+ rx_changelog_sections: '/^# /'
251
248
  # Number of change sections to show in the mail
252
249
  nb_changelog_sections: 1
253
250
  spec_test:
254
251
  # Pattern to find spec tests
255
- pattern: spec/**/*_spec.rb
252
+ pattern: spec/**/test_*.rb
256
253
  # By default, if there is a Gemfile, the generated command will include
257
254
  # 'bundle exec'. Set this to true to ignore the presence of a Gemfile,
258
255
  # and not add 'bundle exec' to the command.
@@ -281,7 +278,7 @@ variables:
281
278
  rspec_opts: [--color, --backtrace]
282
279
  unit_test:
283
280
  # Glob pattern to match test files. (default is 'test/test*.rb')
284
- pattern: test/test*.rb
281
+ pattern: test/test_*.rb
285
282
  # Array of directories to added to $LOAD_PATH before running the tests.
286
283
  libs: [ lib ]
287
284
  # True if verbose test output desired.
@@ -4,7 +4,7 @@
4
4
  # Don't remove this entry!
5
5
  template-info:
6
6
  name: "!{template_name}"
7
- version: 1.3.0
7
+ version: 1.4.0
8
8
  links:
9
9
  source: https://github.com/blambeau/noe/tree/master/templates/ruby
10
10
  documentation: https://github.com/blambeau/noe/blob/master/templates/ruby/README.md
@@ -42,13 +42,13 @@ variables:
42
42
  # Gem dependencies. (- {name: ..., version: ..., groups: [...]}, ...)
43
43
  dependencies:
44
44
  # Rake is required for developers, as usual
45
- - {name: rake, version: "~> 0.8.7", groups: [development]}
45
+ - {name: rake, version: "~> 0.9.2", groups: [development]}
46
46
  # Bundler is required for developers and is used by the Rakefile
47
47
  - {name: bundler, version: "~> 1.0", groups: [development]}
48
48
  # RSpec is required to run 'rake spec'. See tasks/spec.rake
49
- - {name: rspec, version: "~> 2.4.0", groups: [development]}
49
+ - {name: rspec, version: "~> 2.6.0", groups: [development]}
50
50
  # YARD and BlueCloth are required to run 'rake yard'. See tasks/yard.rake
51
- - {name: yard, version: "~> 0.6.4", groups: [development]}
52
- - {name: bluecloth, version: "~> 2.0.9", groups: [development]}
51
+ - {name: yard, version: "~> 0.7.2", groups: [development]}
52
+ - {name: bluecloth, version: "~> 2.1.0", groups: [development]}
53
53
  # wlang is required to run 'rake debug_mail'. See tasks/debug_mail.rake
54
- - {name: wlang, version: "~> 0.10.1", groups: [development]}
54
+ - {name: wlang, version: "~> 0.10.2", groups: [development]}
@@ -68,7 +68,7 @@ begin
68
68
  end
69
69
  rescue LoadError => ex
70
70
  task :unit_test do
71
- abort 'rspec is not available. In order to run spec, you must: gem install rspec'
71
+ abort "rake/testtask does not seem available...\n #{ex.message}"
72
72
  end
73
73
  ensure
74
74
  desc "Run all tests"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: noe
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 7
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 3
8
+ - 4
9
9
  - 0
10
- version: 1.3.0
10
+ version: 1.4.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Bernard Lambeau
@@ -15,8 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-03 00:00:00 +01:00
19
- default_executable:
18
+ date: 2011-07-29 00:00:00 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  type: :development
@@ -25,14 +24,14 @@ dependencies:
25
24
  requirements:
26
25
  - - ~>
27
26
  - !ruby/object:Gem::Version
28
- hash: 49
27
+ hash: 63
29
28
  segments:
30
29
  - 0
31
- - 8
32
- - 7
33
- version: 0.8.7
34
- name: rake
30
+ - 9
31
+ - 2
32
+ version: 0.9.2
35
33
  version_requirements: *id001
34
+ name: rake
36
35
  prerelease: false
37
36
  - !ruby/object:Gem::Dependency
38
37
  type: :development
@@ -46,8 +45,8 @@ dependencies:
46
45
  - 1
47
46
  - 0
48
47
  version: "1.0"
49
- name: bundler
50
48
  version_requirements: *id002
49
+ name: bundler
51
50
  prerelease: false
52
51
  - !ruby/object:Gem::Dependency
53
52
  type: :development
@@ -56,14 +55,14 @@ dependencies:
56
55
  requirements:
57
56
  - - ~>
58
57
  - !ruby/object:Gem::Version
59
- hash: 31
58
+ hash: 23
60
59
  segments:
61
60
  - 2
62
- - 4
61
+ - 6
63
62
  - 0
64
- version: 2.4.0
65
- name: rspec
63
+ version: 2.6.0
66
64
  version_requirements: *id003
65
+ name: rspec
67
66
  prerelease: false
68
67
  - !ruby/object:Gem::Dependency
69
68
  type: :development
@@ -72,14 +71,14 @@ dependencies:
72
71
  requirements:
73
72
  - - ~>
74
73
  - !ruby/object:Gem::Version
75
- hash: 15
74
+ hash: 7
76
75
  segments:
77
76
  - 0
78
- - 6
79
- - 4
80
- version: 0.6.4
81
- name: yard
77
+ - 7
78
+ - 2
79
+ version: 0.7.2
82
80
  version_requirements: *id004
81
+ name: yard
83
82
  prerelease: false
84
83
  - !ruby/object:Gem::Dependency
85
84
  type: :development
@@ -88,14 +87,14 @@ dependencies:
88
87
  requirements:
89
88
  - - ~>
90
89
  - !ruby/object:Gem::Version
91
- hash: 29
90
+ hash: 11
92
91
  segments:
93
92
  - 2
93
+ - 1
94
94
  - 0
95
- - 9
96
- version: 2.0.9
97
- name: bluecloth
95
+ version: 2.1.0
98
96
  version_requirements: *id005
97
+ name: bluecloth
99
98
  prerelease: false
100
99
  - !ruby/object:Gem::Dependency
101
100
  type: :development
@@ -110,8 +109,8 @@ dependencies:
110
109
  - 10
111
110
  - 1
112
111
  version: 0.10.1
113
- name: wlang
114
112
  version_requirements: *id006
113
+ name: wlang
115
114
  prerelease: false
116
115
  - !ruby/object:Gem::Dependency
117
116
  type: :runtime
@@ -126,8 +125,8 @@ dependencies:
126
125
  - 10
127
126
  - 1
128
127
  version: 0.10.1
129
- name: wlang
130
128
  version_requirements: *id007
129
+ name: wlang
131
130
  prerelease: false
132
131
  - !ruby/object:Gem::Dependency
133
132
  type: :runtime
@@ -136,14 +135,14 @@ dependencies:
136
135
  requirements:
137
136
  - - ~>
138
137
  - !ruby/object:Gem::Version
139
- hash: 23
138
+ hash: 19
140
139
  segments:
141
140
  - 0
142
- - 2
141
+ - 3
143
142
  - 0
144
- version: 0.2.0
145
- name: quickl
143
+ version: 0.3.0
146
144
  version_requirements: *id008
145
+ name: quickl
147
146
  prerelease: false
148
147
  - !ruby/object:Gem::Dependency
149
148
  type: :runtime
@@ -158,8 +157,8 @@ dependencies:
158
157
  - 6
159
158
  - 0
160
159
  version: 1.6.0
161
- name: highline
162
160
  version_requirements: *id009
161
+ name: highline
163
162
  prerelease: false
164
163
  description: Noe is a tool that generates project skeletons from predefined templates. A template is designed for a specific product (a ruby library, a static or dynamic web site, ...). Noe instantiates templates and helps you maintaining your product via meta-information provided by a .noespec yaml file. In contrast to other tools, Noe is not specific to certain kinds of products. Even if Noe comes bundled with a default template to develop gem libraries, writing your own template is possible and even simple!
165
164
  email:
@@ -178,20 +177,21 @@ files:
178
177
  - CHANGELOG.md
179
178
  - Gemfile
180
179
  - Gemfile.lock
181
- - lib/noe/commons.rb
182
- - lib/noe/config.rb
183
- - lib/noe/config.yaml
184
- - lib/noe/ext/array.rb
185
- - lib/noe/ext/hash.rb
186
- - lib/noe/go.rb
187
180
  - lib/noe/help.rb
188
- - lib/noe/install.rb
189
- - lib/noe/list.rb
190
- - lib/noe/loader.rb
191
- - lib/noe/main.rb
192
181
  - lib/noe/prepare.rb
182
+ - lib/noe/go.rb
193
183
  - lib/noe/show_spec.rb
184
+ - lib/noe/main.rb
194
185
  - lib/noe/template.rb
186
+ - lib/noe/commons.rb
187
+ - lib/noe/list.rb
188
+ - lib/noe/install.rb
189
+ - lib/noe/config.rb
190
+ - lib/noe/loader.rb
191
+ - lib/noe/default.yaml
192
+ - lib/noe/ext/hash.rb
193
+ - lib/noe/ext/array.rb
194
+ - lib/noe/config.yaml
195
195
  - lib/noe/version.rb
196
196
  - lib/noe.rb
197
197
  - LICENCE.md
@@ -200,43 +200,51 @@ files:
200
200
  - noe.noespec
201
201
  - Rakefile
202
202
  - README.md
203
- - spec/ext/hash/methodize_spec.rb
204
- - spec/noe_spec.rb
205
- - spec/spec_helper.rb
206
- - spec/template/entry/infer_wlang_dialect_spec.rb
207
- - spec/template/entry/relocate_spec.rb
208
- - spec/template/entry/rename_one_spec.rb
203
+ - spec/integration/spec_helper.rb
204
+ - spec/integration/go/go_spec.rb
205
+ - spec/integration/go/after_prepare/after_prepare.noespec
206
+ - spec/integration/go/after_prepare/README.md
207
+ - spec/unit/spec_helper.rb
208
+ - spec/unit/template/entry/rename_one_spec.rb
209
+ - spec/unit/template/entry/relocate_spec.rb
210
+ - spec/unit/template/entry/infer_wlang_dialect_spec.rb
211
+ - spec/unit/config/config1.yaml
212
+ - spec/unit/config/new_spec.rb
213
+ - spec/unit/config/templates_dir_spec.rb
214
+ - spec/unit/noe_spec.rb
215
+ - spec/unit/ext/hash/noe_merge_spec.rb
216
+ - spec/unit/ext/hash/methodize_spec.rb
217
+ - spec/fixtures/typitpl/noespec.yaml
218
+ - spec/fixtures/typitpl/src/README.txt
209
219
  - tasks/debug_mail.rake
210
- - tasks/debug_mail.txt
220
+ - tasks/yard.rake
211
221
  - tasks/gem.rake
212
222
  - tasks/spec_test.rake
213
223
  - tasks/unit_test.rake
214
- - tasks/yard.rake
215
- - templates/ruby/CHANGELOG.md
224
+ - tasks/debug_mail.txt
216
225
  - templates/ruby/noespec.yaml
226
+ - templates/ruby/CHANGELOG.md
217
227
  - templates/ruby/README.md
218
- - templates/ruby/short.yaml
219
- - templates/ruby/src/__lower__.gemspec
220
228
  - templates/ruby/src/CHANGELOG.md
221
- - templates/ruby/src/Gemfile
229
+ - templates/ruby/src/README.md
230
+ - templates/ruby/src/Manifest.txt
231
+ - templates/ruby/src/Rakefile
232
+ - templates/ruby/src/__lower__.gemspec
233
+ - templates/ruby/src/lib/__lower__.rb
222
234
  - templates/ruby/src/lib/__lower__/loader.rb
223
235
  - templates/ruby/src/lib/__lower__/version.rb
224
- - templates/ruby/src/lib/__lower__.rb
225
236
  - templates/ruby/src/LICENCE.md
226
- - templates/ruby/src/Manifest.txt
227
- - templates/ruby/src/Rakefile
228
- - templates/ruby/src/README.md
229
- - templates/ruby/src/spec/__lower___spec.rb
230
237
  - templates/ruby/src/spec/spec_helper.rb
238
+ - templates/ruby/src/spec/test___lower__.rb
231
239
  - templates/ruby/src/tasks/debug_mail.rake
232
- - templates/ruby/src/tasks/debug_mail.txt
240
+ - templates/ruby/src/tasks/yard.rake
233
241
  - templates/ruby/src/tasks/gem.rake
234
242
  - templates/ruby/src/tasks/spec_test.rake
235
243
  - templates/ruby/src/tasks/unit_test.rake
236
- - templates/ruby/src/tasks/yard.rake
237
- - templates/ruby/src/.gemtest
244
+ - templates/ruby/src/tasks/debug_mail.txt
245
+ - templates/ruby/src/Gemfile
246
+ - templates/ruby/short.yaml
238
247
  - templates/ruby/src/.gitignore
239
- has_rdoc: true
240
248
  homepage: http://github.com/blambeau/noe
241
249
  licenses: []
242
250
 
@@ -274,14 +282,24 @@ required_rubygems_version: !ruby/object:Gem::Requirement
274
282
  requirements: []
275
283
 
276
284
  rubyforge_project:
277
- rubygems_version: 1.5.0
285
+ rubygems_version: 1.8.6
278
286
  signing_key:
279
287
  specification_version: 3
280
288
  summary: Noe is a simple, general-purpose and extensible skeleton generator from project templates
281
289
  test_files:
282
- - spec/ext/hash/methodize_spec.rb
283
- - spec/noe_spec.rb
284
- - spec/spec_helper.rb
285
- - spec/template/entry/infer_wlang_dialect_spec.rb
286
- - spec/template/entry/relocate_spec.rb
287
- - spec/template/entry/rename_one_spec.rb
290
+ - spec/integration/spec_helper.rb
291
+ - spec/integration/go/go_spec.rb
292
+ - spec/integration/go/after_prepare/after_prepare.noespec
293
+ - spec/integration/go/after_prepare/README.md
294
+ - spec/unit/spec_helper.rb
295
+ - spec/unit/template/entry/rename_one_spec.rb
296
+ - spec/unit/template/entry/relocate_spec.rb
297
+ - spec/unit/template/entry/infer_wlang_dialect_spec.rb
298
+ - spec/unit/config/config1.yaml
299
+ - spec/unit/config/new_spec.rb
300
+ - spec/unit/config/templates_dir_spec.rb
301
+ - spec/unit/noe_spec.rb
302
+ - spec/unit/ext/hash/noe_merge_spec.rb
303
+ - spec/unit/ext/hash/methodize_spec.rb
304
+ - spec/fixtures/typitpl/noespec.yaml
305
+ - spec/fixtures/typitpl/src/README.txt
File without changes