noe 1.0.0 → 1.1.0

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