noe 1.0.0 → 1.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.
Files changed (49) hide show
  1. data/CHANGELOG.md +27 -0
  2. data/Gemfile +2 -0
  3. data/LICENCE.md +22 -0
  4. data/README.md +111 -45
  5. data/Rakefile +18 -20
  6. data/bin/noe +1 -1
  7. data/lib/noe.rb +7 -21
  8. data/lib/noe/commons.rb +23 -0
  9. data/lib/noe/config.yaml +2 -2
  10. data/lib/noe/ext/array.rb +18 -0
  11. data/lib/noe/ext/hash.rb +48 -0
  12. data/lib/noe/go.rb +158 -40
  13. data/lib/noe/install.rb +13 -7
  14. data/lib/noe/list.rb +34 -10
  15. data/lib/noe/loader.rb +67 -0
  16. data/lib/noe/main.rb +15 -15
  17. data/lib/noe/prepare.rb +121 -0
  18. data/lib/noe/show_spec.rb +45 -0
  19. data/lib/noe/template.rb +84 -4
  20. data/noe.gemspec +186 -30
  21. data/spec/ext/hash/methodize_spec.rb +30 -0
  22. data/spec/noe_spec.rb +4 -0
  23. data/spec/spec_helper.rb +0 -2
  24. data/spec/template/entry/infer_wlang_dialect_spec.rb +31 -0
  25. data/tasks/gem.rake +44 -0
  26. data/tasks/spec_test.rake +61 -0
  27. data/tasks/unit_test.rake +56 -0
  28. data/tasks/yard.rake +36 -0
  29. data/templates/ruby/CHANGELOG.md +9 -1
  30. data/templates/ruby/README.md +47 -10
  31. data/templates/ruby/noespec.yaml +195 -26
  32. data/templates/ruby/short.yaml +33 -0
  33. data/templates/ruby/src/Gemfile +2 -0
  34. data/templates/ruby/src/LICENCE.md +22 -0
  35. data/templates/ruby/src/Manifest.txt +11 -0
  36. data/templates/ruby/src/README.md +6 -1
  37. data/templates/ruby/src/Rakefile +16 -36
  38. data/templates/ruby/src/__lower__.gemspec +178 -23
  39. data/templates/ruby/src/lib/__lower__.rb +5 -2
  40. data/templates/ruby/src/lib/__lower__/loader.rb +65 -0
  41. data/templates/ruby/src/spec/spec_helper.rb +0 -2
  42. data/templates/ruby/src/tasks/gem.rake +44 -0
  43. data/templates/ruby/src/tasks/spec_test.rake +61 -0
  44. data/templates/ruby/src/tasks/unit_test.rake +56 -0
  45. data/templates/ruby/src/tasks/yard.rake +36 -0
  46. metadata +349 -79
  47. data/LICENCE.txt +0 -20
  48. data/lib/noe/create.rb +0 -77
  49. data/templates/ruby/src/LICENCE.txt +0 -20
@@ -0,0 +1,30 @@
1
+ require File.expand_path('../../../spec_helper', __FILE__)
2
+ module Noe
3
+ describe "Hash#methodize!" do
4
+
5
+ let(:thehash){
6
+ { 'name' => "Noe",
7
+ :version => Noe::VERSION,
8
+ 'subhash' => { 'entry' => 12 },
9
+ 'subarray' => [ { 'entry' => 12 } ]
10
+ }
11
+ }
12
+
13
+ it "should be recursive by default" do
14
+ thehash.methodize!
15
+ thehash.name.should == "Noe"
16
+ thehash.version.should == Noe::VERSION
17
+ thehash.subhash.entry.should == 12
18
+ thehash.subarray[0].entry.should == 12
19
+ end
20
+
21
+ it "should noe recursive if explicitely said" do
22
+ thehash.methodize!(false)
23
+ thehash.name.should == "Noe"
24
+ thehash.version.should == Noe::VERSION
25
+ thehash.subhash.should == {'entry' => 12}
26
+ lambda{ thehash.subhash.entry }.should raise_error
27
+ end
28
+
29
+ end
30
+ end # module Noe
@@ -5,4 +5,8 @@ describe Noe do
5
5
  Noe.const_defined?(:VERSION).should be_true
6
6
  end
7
7
 
8
+ it "should rely on Kernel.warn, that should exists" do
9
+ Kernel.respond_to?(:warn).should be_true
10
+ end
11
+
8
12
  end
@@ -1,4 +1,2 @@
1
1
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
- require 'rubygems'
3
- require 'rspec'
4
2
  require 'noe'
@@ -0,0 +1,31 @@
1
+ require File.expand_path('../../../spec_helper', __FILE__)
2
+ module Noe
3
+ describe "Template::Entry#infer_wlang_dialect" do
4
+
5
+ subject{ Template::Entry.infer_wlang_dialect(uri, default) }
6
+ let(:default){ nil }
7
+
8
+ context "when invoked on explicit wlang dialects extensions" do
9
+ let(:uri){ "test.wtpl" }
10
+ it{ should == "wlang/xhtml" }
11
+ end
12
+
13
+ context "when invoked on implicit wlang dialects extensions" do
14
+ let(:uri){ "test.rb" }
15
+ it{ should == "wlang/ruby" }
16
+ end
17
+
18
+ context "when invoked on something else and a default value" do
19
+ let(:uri){ "test.notanextension" }
20
+ let(:default){ "hello" }
21
+ it{ should == "hello" }
22
+ end
23
+
24
+ context "when invoked on something else and no default value" do
25
+ let(:uri){ "test.notanextension" }
26
+ let(:default){ nil }
27
+ it{ should == "wlang/active-text" }
28
+ end
29
+
30
+ end
31
+ end
@@ -0,0 +1,44 @@
1
+ # Install .gem project packaging
2
+ begin
3
+ require 'rubygems/package_task'
4
+ Gem::PackageTask.new($gemspec) do |t|
5
+
6
+ # Name of the package
7
+ t.name = $gemspec.name
8
+
9
+ # Version of the package
10
+ t.version = $gemspec.version
11
+
12
+ # Directory used to store the package files
13
+ t.package_dir = 'pkg'
14
+
15
+ # True if a gzipped tar file (tgz) should be produced
16
+ t.need_tar = false
17
+
18
+ # True if a gzipped tar file (tar.gz) should be produced
19
+ t.need_tar_gz = true
20
+
21
+ # True if a bzip2'd tar file (tar.bz2) should be produced
22
+ t.need_tar_bz2 = false
23
+
24
+ # True if a zip file should be produced (default is false)
25
+ t.need_zip = true
26
+
27
+ # List of files to be included in the package.
28
+ t.package_files = $gemspec.files
29
+
30
+ # Tar command for gzipped or bzip2ed archives.
31
+ t.tar_command = 'tar'
32
+
33
+ # Zip command for zipped archives.
34
+ t.zip_command = 'zip'
35
+
36
+ end
37
+ rescue LoadError
38
+ task :gem do
39
+ abort 'rubygems/package_task is not available. You should verify your rubygems installation'
40
+ end
41
+ task :package do
42
+ abort 'rubygems/package_task is not available. You should verify your rubygems installation'
43
+ end
44
+ end
@@ -0,0 +1,61 @@
1
+ #
2
+ # Install a rake task for running examples written using rspec.
3
+ #
4
+ # More information about rspec: http://relishapp.com/rspec
5
+ # This file has been written to conform to RSpec v2.4.0
6
+ #
7
+ begin
8
+ require "rspec/core/rake_task"
9
+ desc "Run RSpec code examples"
10
+ RSpec::Core::RakeTask.new(:spec_test) do |t|
11
+ # Glob pattern to match files.
12
+ t.pattern = 'spec/**/*_spec.rb'
13
+
14
+ # By default, if there is a Gemfile, the generated command will include
15
+ # 'bundle exec'. Set this to true to ignore the presence of a Gemfile,
16
+ # and not add 'bundle exec' to the command.
17
+ t.skip_bundler = false
18
+
19
+ # Name of Gemfile to use
20
+ t.gemfile = 'Gemfile'
21
+
22
+ # Whether or not to fail Rake when an error occurs (typically when
23
+ # examples fail).
24
+ t.fail_on_error = true
25
+
26
+ # A message to print to stderr when there are failures.
27
+ t.failure_message = nil
28
+
29
+ # Use verbose output. If this is set to true, the task will print the
30
+ # executed spec command to stdout.
31
+ t.verbose = true
32
+
33
+ # Use rcov for code coverage?
34
+ t.rcov = false
35
+
36
+ # Path to rcov.
37
+ t.rcov_path = 'rcov'
38
+
39
+ # Command line options to pass to rcov.
40
+ # See 'rcov --help' about this
41
+ t.rcov_opts = %w{}
42
+
43
+ # Command line options to pass to ruby.
44
+ # See 'ruby --help' about this
45
+ t.ruby_opts = %w{}
46
+
47
+ # Path to rspec
48
+ t.rspec_path = 'rspec'
49
+
50
+ # Command line options to pass to rspec.
51
+ # See 'rspec --help' about this
52
+ t.rspec_opts = %w{--color --backtrace}
53
+ end
54
+ rescue LoadError => ex
55
+ task :spec_test do
56
+ abort 'rspec is not available. In order to run spec, you must: gem install rspec'
57
+ end
58
+ ensure
59
+ task :spec => [:spec_test]
60
+ task :test => [:spec_test]
61
+ end
@@ -0,0 +1,56 @@
1
+ #
2
+ # Install a rake task for running examples written using rspec.
3
+ #
4
+ # More information about rspec: http://relishapp.com/rspec
5
+ # This file has been written to conform to RSpec v2.4.0
6
+ #
7
+ begin
8
+ desc "Lauches unit tests"
9
+ require 'rake/testtask'
10
+ Rake::TestTask.new(:unit_test) do |t|
11
+
12
+ # List of directories to added to $LOAD_PATH before running the
13
+ # tests. (default is 'lib')
14
+ t.libs = %w{ lib }
15
+
16
+ # True if verbose test output desired. (default is false)
17
+ t.verbose = false
18
+
19
+ # Test options passed to the test suite. An explicit TESTOPTS=opts
20
+ # on the command line will override this. (default is NONE)
21
+ t.options = []
22
+
23
+ # Request that the tests be run with the warning flag set.
24
+ # E.g. warning=true implies "ruby -w" used to run the tests.
25
+ t.warning = false
26
+
27
+ # Glob pattern to match test files. (default is 'test/test*.rb')
28
+ t.pattern = 'test/test*.rb'
29
+
30
+ # Style of test loader to use. Options are:
31
+ #
32
+ # * :rake -- Rake provided test loading script (default).
33
+ # * :testrb -- Ruby provided test loading script.
34
+ # * :direct -- Load tests using command line loader.
35
+ #
36
+ t.loader = :rake
37
+
38
+ # Array of commandline options to pass to ruby when running test
39
+ # loader.
40
+ t.ruby_opts = []
41
+
42
+ # Explicitly define the list of test files to be included in a
43
+ # test. +list+ is expected to be an array of file names (a
44
+ # FileList is acceptable). If both +pattern+ and +test_files+ are
45
+ # used, then the list of test files is the union of the two.
46
+ t.test_files = nil
47
+
48
+ end
49
+ rescue LoadError => ex
50
+ task :unit_test do
51
+ abort 'rspec is not available. In order to run spec, you must: gem install rspec'
52
+ end
53
+ ensure
54
+ task :test => [:unit_test]
55
+ end
56
+
@@ -0,0 +1,36 @@
1
+ #
2
+ # Install a rake task to generate API documentation using
3
+ # yard.
4
+ #
5
+ # More information about yard: http://yardoc.org/
6
+ # This file has been written to conform to yard v0.6.4
7
+ #
8
+ # About project documentation
9
+ begin
10
+ require "yard"
11
+ desc "Generate yard documentation"
12
+ YARD::Rake::YardocTask.new(:yard) do |t|
13
+ # Array of options passed to the commandline utility
14
+ # See 'yardoc --help' about this
15
+ t.options = %w{--output-dir doc/api - README.md CHANGELOG.md LICENCE.md}
16
+
17
+ # Array of ruby source files (and any extra documentation files
18
+ # separated by '-')
19
+ t.files = ['lib/**/*.rb']
20
+
21
+ # A proc to call before running the task
22
+ # t.before = proc{ }
23
+
24
+ # A proc to call after running the task
25
+ # r.after = proc{ }
26
+
27
+ # An optional lambda to run against all objects being generated.
28
+ # Any object that the lambda returns false for will be excluded
29
+ # from documentation.
30
+ # t.verifier = lambda{|obj| true}
31
+ end
32
+ rescue LoadError
33
+ task :yard do
34
+ abort 'yard is not available. In order to run yard, you must: gem install yard'
35
+ end
36
+ end
@@ -1,3 +1,11 @@
1
- # 1.0.0 / FIX ME
1
+ # 1.1.0 / FIX ME
2
+
3
+ * Added the tasks folder with well documented rake tasks
4
+ * Added a dependency loader in __lower__/loader.rb that helps requiring gems the good way
5
+ * Added Bundler support to easy developer's job trough Gemfile and "require 'bundle/setup'" in Rakefile
6
+ * LICENCE.txt -> LICENCE.md
7
+ * Follows a lot of changes in from Noe 1.0.0 -> 1.1.0
8
+
9
+ # 1.0.0 / 2011-01-11
2
10
 
3
11
  * Birthday
@@ -1,24 +1,61 @@
1
1
  # Noe template for ruby projects
2
2
 
3
- This is my Noe template for ruby projects. Once generated you'll have a fresh new ruby project
4
- that works, supports unit and spec tests and so on!
3
+ This project provides a [Noe](https://github.com/blambeau/noe) template for creating a
4
+ ruby gem library. Generated project comes with rake tasks to support the lifecycle of
5
+ the library (testing, releasing, and so on). Following Noe's philosophy this template
6
+ also helps you understanding the ruby ecosystem by providing a fully documented project,
7
+ rake tasks, and so on.
5
8
 
6
9
  ## Install
7
10
 
8
- * copy the whole folder in ~/.noe
11
+ * You'll need Noe to use this template, see: https://github.com/blambeau/noe
12
+ * You'll also need bundler, see http://gembundler.com/
13
+ * Copy the whole folder in your noe skeleton folder (defaults to ~/.noe)
9
14
 
10
- ## Instantiation
15
+ In other words
11
16
 
12
- noe create --ruby foo
17
+ [sudo] gem install noe bundler
18
+ cp {this whole folder} ~/.noe
19
+
20
+ ### Creating a ruby project
21
+
22
+ # Prepare generation
23
+ noe prepare --template=ruby foo
13
24
  cd foo
25
+
26
+ # Edit specific information about your project
14
27
  edit foo.noespec
28
+
29
+ # Let Noe generate your project
15
30
  noe go
16
31
 
17
- ## Usage
32
+ # Install your ruby dependencies then run rake
33
+ bundle install
34
+ rake
35
+
36
+ ## Rake tasks installed by this template
37
+
38
+ The following rake tasks are provided to your Rakefile by this template. Have a look at the
39
+ _tasks_ folder for specific configuration additional information.
18
40
 
19
- # Run spec tests
20
- rake spec
41
+ # Running tests
42
+ rake spec_test # Run RSpec code examples
43
+ rake unit_test # Run unit tests
44
+ rake test # spec_test & unit_test
45
+
46
+ # Generating documentation
47
+ rake yard # Generate YARD Documentation
48
+
49
+ # Releasing and packaging
50
+ rake gem # Build the gem file
51
+ rake package # Build all the packages
52
+ rake repackage # Force a rebuild of the package files
53
+ rake clobber_package # Remove package products
21
54
 
22
- # Generate gem
23
- rake gem
55
+ ## External dependencies
24
56
 
57
+ * This template requires [bundler, >= 1.0](http://gembundler.com/)
58
+ * The _spec_ tasks requires [rspec, >= v2.4.0](http://relishapp.com/rspec)
59
+ * The _yard_ tasks requires [yard, >= v0.6.4](http://yardoc.org/) which itself relies on
60
+ [bluecloth, >= 2.0.9](http://deveiate.org/projects/BlueCloth)
61
+ * All _package_-related tasks require [rubygems, >= 1.3.8](http://docs.rubygems.org/)
@@ -1,32 +1,201 @@
1
- # Following entries are maintained by Noe itself. Do not touch if not sure!
1
+ #
2
+ # This file provides a full specification for maintaining your ruby library using Noe.
3
+ # It consists of two main sections: template-info and variables. The first one contains
4
+ # meta-information about the skeleton itself while the second one provides information
5
+ # about your library.
6
+ #
7
+ # Please update the first part with care, as it immediately affects the way Noe will
8
+ # manage the files of your own project. The second part may be updated more freely.
9
+ #
10
+ # Remember that your project may use a shorter version of this file as it will be
11
+ # automatically completed with default options when invoking 'noe go'. In particular,
12
+ # the first section (under template-info) is only required to contain the name and
13
+ # version of the template to use.
14
+ #
15
+ # Use 'noe prepare --template=!{template_name} --layout=short' to generate a shorter
16
+ # version of this file.
17
+ #
18
+ # See 'noe help prepare' and 'noe help show-spec' for more information.
19
+ #
2
20
  template-info:
3
- name:
4
- !{template_name}
5
- description:
6
- Noe spec for small ruby projects
7
- version:
8
- 1.0.0
9
- author:
10
- Bernard Lambeau <blambeau@gmail.com>
11
-
12
- # The following entries are template-related variables. Update
13
- # to match your own configuration.
21
+
22
+ # Don't remove the name and version entries, which are ALWAYS required
23
+ name: "!{template_name}"
24
+ version: 1.1.0
25
+
26
+ # The following entries are information about the template itself and can safely
27
+ # be removed on your own project.
28
+ summary: |
29
+ Template for creating a ruby gem following best ruby practices
30
+ description: |
31
+ This is a [Noe](https://github.com/blambeau/noe) template for creating a ruby gem
32
+ library. Generated project comes with rake tasks to support the lifecycle of the
33
+ library (testing, releasing, and so on). Following Noe's philosophy this template
34
+ also helps you understanding the ruby ecosystem by providing a fully documented
35
+ project, rake tasks, and so on.
36
+ authors:
37
+ - {name: Bernard Lambeau, email: blambeau@gmail.com}
38
+ links:
39
+ source: https://github.com/blambeau/noe/tree/master/templates/ruby
40
+ documentation: https://github.com/blambeau/noe/blob/master/templates/ruby/README.md
41
+
42
+ #
43
+ # Below starts the template manifest.
44
+ #
45
+ # Each entry is related to a template file and may contain the following keys:
46
+ # - description: short explanation of the role the file plays in your project
47
+ # - safe-override: may the file be safely overrided by 'noe go --safe-override'?
48
+ # - wlang-dialect: what dialect must be used for wlang instantiation. When no
49
+ # dialect is specified, the dialect under main-wlang-dialect is used.
50
+ #
51
+ # You can safely remove the whole manifest or entries for which the default values
52
+ # are ok for your project. Otherwise, values defined below override the default ones
53
+ # provided by the template.
54
+ #
55
+ # An typical example for keeping an entry here is to set safe-override to false for
56
+ # specific project files you want to manage manually.
57
+ #
58
+ manifest:
59
+ .gitignore:
60
+ description: Files to be ignored by git or another version control system
61
+ safe-override: false
62
+ __lower__.gemspec:
63
+ description: Gem specification file
64
+ safe-override: true
65
+ wlang-dialect: wlang/ruby
66
+ CHANGELOG.md:
67
+ description: Information about library changes
68
+ safe-override: false
69
+ Gemfile:
70
+ description: Information used by Bundler, the Ruby dependency manager
71
+ safe-override: true
72
+ wlang-dialect: wlang/ruby
73
+ lib/__lower__.rb:
74
+ description: Main file of the ruby library
75
+ safe-override: false
76
+ lib/__lower__/loader.rb:
77
+ description: Dependency loader for the ruby library
78
+ safe-override: true
79
+ LICENCE.md:
80
+ description: Licensing information
81
+ safe-override: false
82
+ Manifest.txt:
83
+ description: Information about the files that compose the package
84
+ safe-override: false
85
+ Rakefile:
86
+ description: Information for Ruby maker
87
+ safe-override: true
88
+ wlang-dialect: wlang/ruby
89
+ README.md:
90
+ description: Starter documentation file
91
+ safe-override: false
92
+ spec/__lower__spec.rb:
93
+ description: Main test file of the ruby library
94
+ safe-override: false
95
+ spec/spec_helper.rb:
96
+ description: Helper for ruby spec tests
97
+ safe-override: true
98
+ tasks/gem.rake:
99
+ description: configuration file for 'rake package', 'rake gem' and associated tasks
100
+ safe-override: true
101
+ wlang-dialect: wlang/ruby
102
+ tasks/spec_test.rake:
103
+ description: configuration file for 'rake spec_test'
104
+ safe-override: true
105
+ wlang-dialect: wlang/ruby
106
+ tasks/unit_test.rake:
107
+ description: configuration file for 'rake unit_test'
108
+ safe-override: true
109
+ wlang-dialect: wlang/ruby
110
+ tasks/yard.rake:
111
+ description: configuration file for 'rake yard'
112
+ safe-override: true
113
+ wlang-dialect: wlang/ruby
114
+
115
+ # The following entries are template-related variables. Update to match your
116
+ # own configuration.
14
117
  variables:
15
- # A ruby lower case project name
118
+ # A ruby lower case project name. This will become the name of the generated
119
+ # gem of the main ruby .rb start file and so on.
16
120
  lower:
17
121
  hello_world
18
- # A ruby upper case project name
122
+
123
+ # A ruby upper case project name. This is used to generate the main namespacing
124
+ # module of your project and shoul be the CamelCase equivalent of your lower
125
+ # name.
19
126
  upper:
20
127
  HelloWorld
21
- # Author of the project
22
- author:
23
- Bernard Lambeau
24
- # Email of the author
25
- email:
26
- blambeau@gmail.com
27
- # Project's homepage
28
- homepage:
29
- http://github.com/blambeau/noe
30
- # Project description
31
- description:
32
- HelloWorld - A simple example for Noe project generator
128
+
129
+ # Project summary. The summary should be a short project description (5 lines)
130
+ # and will be used to annotate your .gemspec file on rubygems.org.
131
+ summary: A simple "Hello World" example for Noe's skeleton for Ruby projects
132
+
133
+ # Authors of the project. Each author entry is a Hash and MUST at least have
134
+ # 'name' and 'email' keys. This is used to add meta information to your .gemspec
135
+ # file. Example:
136
+ #
137
+ # authors:
138
+ # - name: Bob
139
+ # email: bob@gmail.com
140
+ #
141
+ authors: []
142
+
143
+ # Web links for the project. You should typically include links to the sources
144
+ # (github), rubygems.org, documentation and so on. The first link will be used
145
+ # to fill the .gemspec file. Example:
146
+ #
147
+ # links:
148
+ # - http://github.com/bob/hello_world
149
+ # - http://rubygems.org/gems/hello_world
150
+ #
151
+ links: []
152
+
153
+ # Gem dependencies. Each entry is a Hash that MUST at least have 'name', 'version'
154
+ # and 'groups' keys. The later is an array of dependency groups and are used to
155
+ # generate Gemfile and .gemspec files. For now, only 'development' and 'runtime'
156
+ # values are supported.
157
+ #
158
+ # Example
159
+ # # Rake is required for development only
160
+ # - {name: rake, version: "~> 0.8.7", groups: [development]}
161
+ # # HighLine is required at runtime
162
+ # - {name: highline, version: ">= 0", groups: [runtime]}
163
+ # # WLang is required for both development and runtime
164
+ # - {name: wlang, version: ">= 0", groups: [runtime, development]}
165
+ #
166
+ dependencies:
167
+ # Rake is required for developers, as usual
168
+ - {name: rake, version: "~> 0.8.7", groups: [development]}
169
+ # Bundler is required for developers and is used by the Rakefile
170
+ - {name: bundler, version: "~> 1.0", groups: [development]}
171
+ # RSpec is required to run 'rake spec'. See tasks/spec.rake
172
+ - {name: rspec, version: "~> 2.4.0", groups: [development]}
173
+ # YARD and BlueCloth are required to run 'rake yard'. See tasks/yard.rake
174
+ - {name: yard, version: "~> 0.6.4", groups: [development]}
175
+ - {name: bluecloth, version: "~> 2.0.9", groups: [development]}
176
+
177
+ # Below are defined a certain number of specific variables for the .gemspec file
178
+ # of your library. We'll include it here to keep .gemspec under Noe's control for
179
+ # simple yet flexible cases. If your gem configuration is really specific, you
180
+ # can always maintain the .gemspec manually by setting
181
+ # template-info/manifest/__lower__.gemspec/safe-override to false
182
+ gemspec:
183
+ # Paths in the gem to add to $LOAD_PATH when the gem is activated (required).
184
+ require_paths: [ lib ]
185
+ # The path in the gem for executable scripts
186
+ bindir: 'bin'
187
+ # Array containing the names of executables included in the gem,
188
+ # if any (Dir[...] patterns are supported).
189
+ executables: [ 'bin/*' ]
190
+ # Array of test files (Dir[...] patterns are supported).
191
+ test_files: ['test/**/*', 'spec/**/*']
192
+ # Array of options to use when invoking rdoc
193
+ rdoc_options: [ ]
194
+ # Array of extra files to give to rdoc (Dir[...] patterns are supported)
195
+ extra_rdoc_files: [ README.md, CHANGELOG.md, LICENCE.md ]
196
+ # Array of extensions to build when installing the gem.
197
+ extensions: []
198
+ # External (to RubyGems) requirements that must be met for this gem to work (informal)
199
+ requirements:
200
+ # A friendly message you would like to display when the user installs your gem
201
+ post_install_message: