gemsmith 2.0.0 → 2.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.
- checksums.yaml +4 -4
- data/{LICENSE.rdoc → LICENSE.md} +1 -1
- data/README.md +154 -0
- data/lib/gemsmith.rb +2 -2
- data/lib/gemsmith/cli.rb +32 -131
- data/lib/gemsmith/cli_helpers.rb +90 -0
- data/lib/gemsmith/cli_options.rb +94 -0
- data/lib/gemsmith/skeletons/base_skeleton.rb +35 -0
- data/lib/gemsmith/skeletons/cli_skeleton.rb +10 -0
- data/lib/gemsmith/skeletons/default_skeleton.rb +21 -0
- data/lib/gemsmith/skeletons/documentation_skeleton.rb +12 -0
- data/lib/gemsmith/skeletons/git_skeleton.rb +13 -0
- data/lib/gemsmith/skeletons/rails_skeleton.rb +51 -0
- data/lib/gemsmith/skeletons/rspec_skeleton.rb +17 -0
- data/lib/gemsmith/skeletons/travis_skeleton.rb +9 -0
- data/lib/gemsmith/templates/{gem.gemspec.tmp → %gem_name%/%gem_name%.gemspec.tt} +4 -3
- data/lib/gemsmith/templates/{gitignore.tmp → %gem_name%/.gitignore.tt} +2 -1
- data/lib/gemsmith/templates/{rspec.tmp → %gem_name%/.rspec.tt} +0 -0
- data/lib/gemsmith/templates/%gem_name%/.ruby-version.tt +1 -0
- data/lib/gemsmith/templates/{travis.yml.tmp → %gem_name%/.travis.yml.tt} +0 -2
- data/lib/gemsmith/templates/{CHANGELOG.rdoc.tmp → %gem_name%/CHANGELOG.md.tt} +1 -1
- data/lib/gemsmith/templates/{CONTRIBUTING.md.tmp → %gem_name%/CONTRIBUTING.md.tt} +0 -0
- data/lib/gemsmith/templates/{Gemfile.tmp → %gem_name%/Gemfile.tt} +0 -0
- data/lib/gemsmith/templates/{LICENSE.rdoc.tmp → %gem_name%/LICENSE.md.tt} +1 -1
- data/lib/gemsmith/templates/%gem_name%/README.md.tt +59 -0
- data/lib/gemsmith/templates/{Rakefile.tmp → %gem_name%/Rakefile.tt} +0 -0
- data/lib/gemsmith/templates/{bin/gem.tmp → %gem_name%/bin/%gem_name%.tt} +0 -0
- data/lib/gemsmith/templates/{gemfiles/rails-3.2.x.gemfile.tmp → %gem_name%/gemfiles/rails-3.2.x.gemfile.tt} +1 -1
- data/lib/gemsmith/templates/%gem_name%/lib/%gem_name%.rb.tt +33 -0
- data/lib/gemsmith/templates/{lib/gem/action_controller/class_methods.rb.tmp → %gem_name%/lib/%gem_name%/action_controller/class_methods.rb.tt} +2 -2
- data/lib/gemsmith/templates/{lib/gem/action_controller/instance_methods.rb.tmp → %gem_name%/lib/%gem_name%/action_controller/instance_methods.rb.tt} +0 -0
- data/lib/gemsmith/templates/{lib/gem/action_view/instance_methods.rb.tmp → %gem_name%/lib/%gem_name%/action_view/instance_methods.rb.tt} +0 -0
- data/lib/gemsmith/templates/{lib/gem/active_record/class_methods.rb.tmp → %gem_name%/lib/%gem_name%/active_record/class_methods.rb.tt} +2 -2
- data/lib/gemsmith/templates/{lib/gem/active_record/instance_methods.rb.tmp → %gem_name%/lib/%gem_name%/active_record/instance_methods.rb.tt} +0 -0
- data/lib/gemsmith/templates/{lib/gem/cli.rb.tmp → %gem_name%/lib/%gem_name%/cli.rb.tt} +1 -1
- data/lib/gemsmith/templates/{lib/gem/version.rb.tmp → %gem_name%/lib/%gem_name%/version.rb.tt} +0 -0
- data/lib/gemsmith/templates/{lib/generators/gem/install/USAGE.tmp → %gem_name%/lib/generators/%gem_name%/install/USAGE.tt} +0 -0
- data/lib/gemsmith/templates/{lib/generators/gem/install/install_generator.rb.tmp → %gem_name%/lib/generators/%gem_name%/install/install_generator.rb.tt} +0 -0
- data/lib/gemsmith/templates/{lib/generators/gem/upgrade/USAGE.tmp → %gem_name%/lib/generators/%gem_name%/upgrade/USAGE.tt} +0 -0
- data/lib/gemsmith/templates/{lib/generators/gem/upgrade/upgrade_generator.rb.tmp → %gem_name%/lib/generators/%gem_name%/upgrade/upgrade_generator.rb.tt} +0 -0
- data/lib/gemsmith/templates/{spec/gem_spec.rb.tmp → %gem_name%/spec/%gem_name%_spec.rb.tt} +0 -0
- data/lib/gemsmith/templates/{spec/spec_helper.rb.tmp → %gem_name%/spec/spec_helper.rb.tt} +2 -1
- data/lib/gemsmith/version.rb +1 -1
- metadata +61 -40
- data/CHANGELOG.rdoc +0 -134
- data/README.rdoc +0 -133
- data/lib/gemsmith/templates/README.rdoc.tmp +0 -59
- data/lib/gemsmith/templates/gemfiles/rails-3.0.x.gemfile.tmp +0 -5
- data/lib/gemsmith/templates/gemfiles/rails-3.1.x.gemfile.tmp +0 -5
- data/lib/gemsmith/templates/lib/gem.rb.tmp +0 -33
@@ -3,11 +3,11 @@ module <%= config[:gem_class] %>
|
|
3
3
|
def self.included base
|
4
4
|
base.extend ClassMethods
|
5
5
|
end
|
6
|
-
|
6
|
+
|
7
7
|
module ClassMethods
|
8
8
|
def acts_as_<%= config[:gem_name] %> options = {}
|
9
9
|
self.send :include, InstanceMethods
|
10
|
-
|
10
|
+
|
11
11
|
# Default Options
|
12
12
|
class_inheritable_reader :<%= config[:gem_name] %>_options
|
13
13
|
write_inheritable_attribute :<%= config[:gem_name] %>_options, options
|
File without changes
|
File without changes
|
@@ -3,11 +3,11 @@ module <%= config[:gem_class] %>
|
|
3
3
|
def self.included base
|
4
4
|
base.extend ClassMethods
|
5
5
|
end
|
6
|
-
|
6
|
+
|
7
7
|
module ClassMethods
|
8
8
|
def acts_as_<%= config[:gem_name] %> options = {}
|
9
9
|
self.send :include, InstanceMethods
|
10
|
-
|
10
|
+
|
11
11
|
# Default Options
|
12
12
|
class_inheritable_reader :<%= config[:gem_name] %>_options
|
13
13
|
write_inheritable_attribute :<%= config[:gem_name] %>_options, options
|
File without changes
|
data/lib/gemsmith/templates/{lib/gem/version.rb.tmp → %gem_name%/lib/%gem_name%/version.rb.tt}
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/gemsmith/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemsmith
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.18'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0.
|
26
|
+
version: '0.18'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: thor_plus
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,7 +67,21 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name: pry-
|
70
|
+
name: pry-debugger
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry-rescue
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
87
|
- - '>='
|
@@ -171,45 +185,52 @@ executables:
|
|
171
185
|
- gemsmith
|
172
186
|
extensions: []
|
173
187
|
extra_rdoc_files:
|
174
|
-
- README.
|
175
|
-
-
|
176
|
-
- LICENSE.rdoc
|
188
|
+
- README.md
|
189
|
+
- LICENSE.md
|
177
190
|
files:
|
178
191
|
- lib/gemsmith/cli.rb
|
192
|
+
- lib/gemsmith/cli_helpers.rb
|
193
|
+
- lib/gemsmith/cli_options.rb
|
179
194
|
- lib/gemsmith/kit.rb
|
180
|
-
- lib/gemsmith/
|
181
|
-
- lib/gemsmith/
|
182
|
-
- lib/gemsmith/
|
183
|
-
- lib/gemsmith/
|
184
|
-
- lib/gemsmith/
|
185
|
-
- lib/gemsmith/
|
186
|
-
- lib/gemsmith/
|
187
|
-
- lib/gemsmith/
|
188
|
-
- lib/gemsmith/templates
|
189
|
-
- lib/gemsmith/templates
|
190
|
-
- lib/gemsmith/templates
|
191
|
-
- lib/gemsmith/templates
|
192
|
-
- lib/gemsmith/templates
|
193
|
-
- lib/gemsmith/templates/
|
194
|
-
- lib/gemsmith/templates
|
195
|
-
- lib/gemsmith/templates
|
196
|
-
- lib/gemsmith/templates
|
197
|
-
- lib/gemsmith/templates
|
198
|
-
- lib/gemsmith/templates
|
199
|
-
- lib/gemsmith/templates
|
200
|
-
- lib/gemsmith/templates
|
201
|
-
- lib/gemsmith/templates
|
202
|
-
- lib/gemsmith/templates/
|
203
|
-
- lib/gemsmith/templates/
|
204
|
-
- lib/gemsmith/templates/
|
205
|
-
- lib/gemsmith/templates/
|
206
|
-
- lib/gemsmith/templates
|
207
|
-
- lib/gemsmith/templates
|
195
|
+
- lib/gemsmith/skeletons/base_skeleton.rb
|
196
|
+
- lib/gemsmith/skeletons/cli_skeleton.rb
|
197
|
+
- lib/gemsmith/skeletons/default_skeleton.rb
|
198
|
+
- lib/gemsmith/skeletons/documentation_skeleton.rb
|
199
|
+
- lib/gemsmith/skeletons/git_skeleton.rb
|
200
|
+
- lib/gemsmith/skeletons/rails_skeleton.rb
|
201
|
+
- lib/gemsmith/skeletons/rspec_skeleton.rb
|
202
|
+
- lib/gemsmith/skeletons/travis_skeleton.rb
|
203
|
+
- lib/gemsmith/templates/%gem_name%/%gem_name%.gemspec.tt
|
204
|
+
- lib/gemsmith/templates/%gem_name%/bin/%gem_name%.tt
|
205
|
+
- lib/gemsmith/templates/%gem_name%/CHANGELOG.md.tt
|
206
|
+
- lib/gemsmith/templates/%gem_name%/CONTRIBUTING.md.tt
|
207
|
+
- lib/gemsmith/templates/%gem_name%/Gemfile.tt
|
208
|
+
- lib/gemsmith/templates/%gem_name%/gemfiles/rails-3.2.x.gemfile.tt
|
209
|
+
- lib/gemsmith/templates/%gem_name%/lib/%gem_name%/action_controller/class_methods.rb.tt
|
210
|
+
- lib/gemsmith/templates/%gem_name%/lib/%gem_name%/action_controller/instance_methods.rb.tt
|
211
|
+
- lib/gemsmith/templates/%gem_name%/lib/%gem_name%/action_view/instance_methods.rb.tt
|
212
|
+
- lib/gemsmith/templates/%gem_name%/lib/%gem_name%/active_record/class_methods.rb.tt
|
213
|
+
- lib/gemsmith/templates/%gem_name%/lib/%gem_name%/active_record/instance_methods.rb.tt
|
214
|
+
- lib/gemsmith/templates/%gem_name%/lib/%gem_name%/cli.rb.tt
|
215
|
+
- lib/gemsmith/templates/%gem_name%/lib/%gem_name%/version.rb.tt
|
216
|
+
- lib/gemsmith/templates/%gem_name%/lib/%gem_name%.rb.tt
|
217
|
+
- lib/gemsmith/templates/%gem_name%/lib/generators/%gem_name%/install/install_generator.rb.tt
|
218
|
+
- lib/gemsmith/templates/%gem_name%/lib/generators/%gem_name%/install/USAGE.tt
|
219
|
+
- lib/gemsmith/templates/%gem_name%/lib/generators/%gem_name%/upgrade/upgrade_generator.rb.tt
|
220
|
+
- lib/gemsmith/templates/%gem_name%/lib/generators/%gem_name%/upgrade/USAGE.tt
|
221
|
+
- lib/gemsmith/templates/%gem_name%/LICENSE.md.tt
|
222
|
+
- lib/gemsmith/templates/%gem_name%/Rakefile.tt
|
223
|
+
- lib/gemsmith/templates/%gem_name%/README.md.tt
|
224
|
+
- lib/gemsmith/templates/%gem_name%/spec/%gem_name%_spec.rb.tt
|
225
|
+
- lib/gemsmith/templates/%gem_name%/spec/spec_helper.rb.tt
|
208
226
|
- lib/gemsmith/version.rb
|
209
227
|
- lib/gemsmith.rb
|
210
|
-
-
|
211
|
-
-
|
212
|
-
-
|
228
|
+
- lib/gemsmith/templates/%gem_name%/.gitignore.tt
|
229
|
+
- lib/gemsmith/templates/%gem_name%/.rspec.tt
|
230
|
+
- lib/gemsmith/templates/%gem_name%/.ruby-version.tt
|
231
|
+
- lib/gemsmith/templates/%gem_name%/.travis.yml.tt
|
232
|
+
- README.md
|
233
|
+
- LICENSE.md
|
213
234
|
- bin/gemsmith
|
214
235
|
homepage: http://www.redalchemist.com
|
215
236
|
licenses:
|
@@ -231,7 +252,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
231
252
|
version: '0'
|
232
253
|
requirements: []
|
233
254
|
rubyforge_project:
|
234
|
-
rubygems_version: 2.0.
|
255
|
+
rubygems_version: 2.0.2
|
235
256
|
signing_key:
|
236
257
|
specification_version: 4
|
237
258
|
summary: Ruby gem skeleton generation for the professional gemsmith.
|
data/CHANGELOG.rdoc
DELETED
@@ -1,134 +0,0 @@
|
|
1
|
-
= v2.0.0
|
2
|
-
|
3
|
-
* Added Railtie best practices to README.
|
4
|
-
* Added Guard support.
|
5
|
-
* Converted/detailed the CONTRIBUTING guidelines per GitHub requirements.
|
6
|
-
* Updated the contribution details in the README template to point to the CONTRIBUTING template.
|
7
|
-
* Added spec focus capability.
|
8
|
-
* Added Gem Badge support.
|
9
|
-
* Added Code Climate support.
|
10
|
-
* Added Campfire notification support.
|
11
|
-
* Switched from HTTP to HTTPS when sourcing from RubyGems.
|
12
|
-
* Added Pry support.
|
13
|
-
* Cleaned up Guard gem dependency requirements.
|
14
|
-
* Added Guard support to gem generation.
|
15
|
-
* Upgraded to Ruby 2.0.0.
|
16
|
-
|
17
|
-
= v1.5.0
|
18
|
-
|
19
|
-
* Added auto-linking to GitHub Issues via README template.
|
20
|
-
* Relaxed Rails gem settings to 3.x.x.
|
21
|
-
* Switched gem dependency to Thor 0.x.x range.
|
22
|
-
* Switched gem dependency to Thor+ 0.x.x range.
|
23
|
-
|
24
|
-
= v1.4.0
|
25
|
-
|
26
|
-
* Added Travis CI templates for Rails build matrix that can support multiple version tests.
|
27
|
-
* Added vendor files to gemspec template so they are included when building a new gem (especially Rails related).
|
28
|
-
* Moved library requirements within the Rails conditional check so that requirements are only loaded if Rails is detected.
|
29
|
-
* Modified the RSpec development dependency so that if Rails is detected, the rspec-rails gem is included instead.
|
30
|
-
* Changed the Rails default version to 3.2.0.
|
31
|
-
|
32
|
-
= v1.3.0
|
33
|
-
|
34
|
-
* Specified Thor+ 0.2.x version dependency.
|
35
|
-
* Added Travis CI support.
|
36
|
-
* Added Travis CI template support (can be disable via your settings.yml or during new gem creation).
|
37
|
-
* Added the spec/tmp directory to the gitignore template.
|
38
|
-
* Added Gemsmith::Kit class with a supplementary utility method for obtaining .gitconfig values.
|
39
|
-
* Added github user support - Defaults to github config file or settings.yml.
|
40
|
-
* Updated RSpec format to better represent class and instance methods.
|
41
|
-
* Removed the -w option from gem binary and the binary template.
|
42
|
-
* No longer shell out to Git when referencing the gem/template files in gemspecs - This increases Rails boot performance.
|
43
|
-
* Switched Gemfile and Gemfile.tmp reference from "http://rubygems.org" to :rubygems.
|
44
|
-
* Moved documentation files to the extra_rdoc_files option for gem specifications
|
45
|
-
* Removed the packaging of test files.
|
46
|
-
|
47
|
-
= v1.2.0
|
48
|
-
|
49
|
-
* Updated README and README template with new layout for test instructions.
|
50
|
-
* Upgraded to Thor+ 0.2.0 and removed the settings_file, settings, and load_settings methods.
|
51
|
-
* Added Why You Should Use a BSD license to the README Best Practices section.
|
52
|
-
* Added the Best Practices While Cutting Gems to the Best Practices section of the README.
|
53
|
-
* Added the ruby warning and encoding option formats to the binary template.
|
54
|
-
* Removed the do block from RSpec template so that initial tests show pending instead of successful results.
|
55
|
-
|
56
|
-
= v1.1.0
|
57
|
-
|
58
|
-
* Fixed bug where args, options, and config were not being passed to super for CLI initialize for gem and gem template generation.
|
59
|
-
* Updated gemspec settings and removed rubygem requirements from spec helper.
|
60
|
-
* Defaulted RSpec output to documentation format for project and template generation.
|
61
|
-
* Added Ruby on Rails Gem Packaging to Best Practices section of README.
|
62
|
-
* Added the -o option for opening a gem in the default editor.
|
63
|
-
* Added RSpec documentation to README and README template.
|
64
|
-
* Added Tests, Contributions, and Credits section to README and README template.
|
65
|
-
|
66
|
-
= v1.0.0
|
67
|
-
|
68
|
-
* Upgraded to Ruby 1.9 and added Ruby 1.9 requirements.
|
69
|
-
* Upgraded Rails defaults to 3.1.x.
|
70
|
-
* Renamed ActionController and ActiveRecord class methods templates to be acts_as_* instead of is_*_enhanced.
|
71
|
-
* Changed gem specifications to use singular form of author and email.
|
72
|
-
* Added a gem_url setting (which is different from the author_url but does default to it).
|
73
|
-
* Added a Company header to the README template.
|
74
|
-
* Added the MIT license to the gemspec template.
|
75
|
-
* Added the post_install_message option for adding custom messages to gem install output.
|
76
|
-
* Simplified all TODO messages in the templates.
|
77
|
-
* Added Thor+ gem requirement.
|
78
|
-
* Removed the Utilities module and replaced all info and error messages with Thor+ actions.
|
79
|
-
* Added requirements and includes for the Thor+ gem when generating binary-enabled gem skeletons.
|
80
|
-
* Added the YAML requirement to the CLI template.
|
81
|
-
|
82
|
-
= v0.5.0
|
83
|
-
|
84
|
-
* Fixed bug with wrong definition of ActionView instance method include for main gem template.
|
85
|
-
* Changed the ActionView template behavior so that instance methods are auto-included.
|
86
|
-
* Renamed the execute methods for the install and upgrade generators to install and upgrade respectively.
|
87
|
-
* Added Rails version options. Default: 3.0.0.
|
88
|
-
* Added Ruby version option. Default: 1.9.2.
|
89
|
-
* Made the module namespace optional when building gems specifically for Rails.
|
90
|
-
* Relabeled the TODO helper text for all templates.
|
91
|
-
|
92
|
-
= v0.4.0
|
93
|
-
|
94
|
-
* Fixed bug with options not being supplied as second argument to write_inheritable_attribute for ActionController and ActiveRecord class method templates.
|
95
|
-
* Changed the -R option to -r for Rails and added the -s option for RSpec.
|
96
|
-
* Trimmed ERB whitespace from templates where apt.
|
97
|
-
* Cleaned up the source_root code for both the install and upgrade generator templates.
|
98
|
-
* Renamed the copy_files method to the execute method for both the install and upgrade generator templates.
|
99
|
-
* Moved desc method next to execution method for both the install and upgrade generator templates.
|
100
|
-
* Removed the banners from the install and upgrade generator templates since this is auto-generated by Thor.
|
101
|
-
|
102
|
-
= v0.3.0
|
103
|
-
|
104
|
-
* Added Best Practices section to the README.
|
105
|
-
* Added the -e (edit) option for editing gem settings in default editor.
|
106
|
-
* Added Thor utilities for info and error messaging.
|
107
|
-
* Removed the classify and underscore methods since their equivalents are found in the Thor::Util class.
|
108
|
-
* Removed the print_version method.
|
109
|
-
* Added Rails generator USAGE documentation for the install and update generator templates.
|
110
|
-
* Removed excess shell calls from the CLI template.
|
111
|
-
* Added Thor::Actions to CLI class template.
|
112
|
-
* Added "Built with Gemsmith" to README template.
|
113
|
-
* Updated README template so that Gemfile mention is only provided when Rails is enabled.
|
114
|
-
|
115
|
-
= v0.2.0
|
116
|
-
|
117
|
-
* Fixed typo in upgrade generator doc.
|
118
|
-
* Fixed README typo with command line options.
|
119
|
-
* Added Ruby on Rails skeleton generation support.
|
120
|
-
* Added RSpec skeleton generation support.
|
121
|
-
* Added a cli.rb template with basic Thor setup for binary skeletons.
|
122
|
-
* Added binary executable name to gemspec template for binary skeletons.
|
123
|
-
* Added gem dependencies to gemspec template for binary and RSpec skeletons.
|
124
|
-
* Added proper support for underscoring/camelcasing gem names and classes during skeleton generation.
|
125
|
-
* Added common setup options to the README template.
|
126
|
-
* Added Ruby on Rails requirements to the README template (only if the Rails options is used).
|
127
|
-
* Added Ruby on Rails generator templates for installs and upgrades.
|
128
|
-
* Added Git initialization, addition, and first commit message of all skeleton files during gem creation.
|
129
|
-
* Updated the gem description.
|
130
|
-
* Updated the documentation to include Bundler rake tasks.
|
131
|
-
|
132
|
-
= v0.1.0
|
133
|
-
|
134
|
-
* Initial version.
|
data/README.rdoc
DELETED
@@ -1,133 +0,0 @@
|
|
1
|
-
= Overview
|
2
|
-
|
3
|
-
{<img src="https://badge.fury.io/rb/gemsmith.png" alt="Gem Version" />}[http://badge.fury.io/rb/gemsmith]
|
4
|
-
{<img src="https://codeclimate.com/github/bkuhlmann/gemsmith.png" alt="Code Climate GPA" />}[https://codeclimate.com/github/bkuhlmann/gemsmith]
|
5
|
-
{<img src="https://secure.travis-ci.org/bkuhlmann/gemsmith.png" alt="Travis CI Status" />}[http://travis-ci.org/bkuhlmann/gemsmith]
|
6
|
-
|
7
|
-
Gemsmith allows you to easily craft new gems via the command line with custom settings (if desired). If you are
|
8
|
-
a fan of Bundler[https://github.com/carlhuda/bundler], then you'll appreciate the additional capabilities of this
|
9
|
-
gem. Gemsmith is essentially an enhanced version of Bundler's gem building capabilities.
|
10
|
-
|
11
|
-
= Features
|
12
|
-
|
13
|
-
* Builds a gem skeleton with Bundler functionality in mind.
|
14
|
-
* Supports common settings that can be applied to new gem creations.
|
15
|
-
* Supports binary skeletons with Thor[https://github.com/wycats/thor] command line functionality.
|
16
|
-
* Supports {Ruby on Rails}[http://rubyonrails.org].
|
17
|
-
* Supports RSpec[http://rspec.info].
|
18
|
-
* Supports Pry[http://pryrepl.org].
|
19
|
-
* Supports Guard[https://github.com/guard/guard].
|
20
|
-
* Supports {Code Climate}[https://codeclimate.com].
|
21
|
-
* Supports {Travis CI}[http://travis-ci.org] skeletons.
|
22
|
-
* Adds commonly needed README, CHANGELOG, LICENSE, etc. template files.
|
23
|
-
* Provides the ability to open any installed gem within your favorite editor.
|
24
|
-
|
25
|
-
= Requirements
|
26
|
-
|
27
|
-
1. A UNIX-based system.
|
28
|
-
2. {Ruby 2.0.x}[http://www.ruby-lang.org].
|
29
|
-
3. RubyGems[http://rubygems.org].
|
30
|
-
4. Bundler[https://github.com/carlhuda/bundler].
|
31
|
-
|
32
|
-
= Setup
|
33
|
-
|
34
|
-
Type the following from the command line to install:
|
35
|
-
|
36
|
-
gem install gemsmith
|
37
|
-
|
38
|
-
You can configure common settings for future gem builds by creating the following file:
|
39
|
-
|
40
|
-
~/.gemsmith/settings.yml
|
41
|
-
|
42
|
-
...using the following settings (for example):
|
43
|
-
|
44
|
-
---
|
45
|
-
:author_name: Brooke Kuhlmann
|
46
|
-
:author_email: brooke@redalchemist.com
|
47
|
-
:author_url: http://www.redalchemist.com
|
48
|
-
:company_name: Red Alchemist
|
49
|
-
|
50
|
-
If no options are configured, then the defaults are as follows:
|
51
|
-
|
52
|
-
gem_platform: Gem::Platform::RUBY
|
53
|
-
author_name: <git name>
|
54
|
-
author_email: <git email>
|
55
|
-
author_url: https://www.unknown.com
|
56
|
-
gem_url: <author URL>
|
57
|
-
company_name: <author name>
|
58
|
-
company_url: <author URL>
|
59
|
-
github_user: <github user>
|
60
|
-
year: <current year>
|
61
|
-
ruby_version: 2.0.0
|
62
|
-
rails_version: 3.2.0
|
63
|
-
|
64
|
-
= Usage
|
65
|
-
|
66
|
-
From the command line, type: gemsmith help
|
67
|
-
|
68
|
-
gemsmith -c, [create=GEM_NAME] # Create new gem.
|
69
|
-
gemsmith -e, [edit] # Edit gem settings in default editor (assumes $EDITOR environment variable).
|
70
|
-
gemsmith -h, [help] # Show this message.
|
71
|
-
gemsmith -o, [open=NAME] # Opens gem in default editor (assumes $EDITOR environment variable).
|
72
|
-
gemsmith -v, [version] # Show version.
|
73
|
-
|
74
|
-
For more gem creation options, type: gemsmith help create
|
75
|
-
|
76
|
-
-b, [--bin] # Add binary support.
|
77
|
-
-r, [--rails] # Add Rails support.
|
78
|
-
-p, [--pry] # Add Pry support.
|
79
|
-
# Default: true
|
80
|
-
-g, [--guard] # Add Guard support.
|
81
|
-
# Default: true
|
82
|
-
-s, [--rspec] # Add RSpec support.
|
83
|
-
# Default: true
|
84
|
-
-t, [--travis] # Add Travis CI support.
|
85
|
-
# Default: true
|
86
|
-
-c, [--code-climate] # Add Code Climate support.
|
87
|
-
# Default: true
|
88
|
-
|
89
|
-
Also, don't forget that once you have created your gem skeleton, the following rake tasks are also
|
90
|
-
available to you via Bundler (i.e. rake -T):
|
91
|
-
|
92
|
-
rake build # Build <gem>-<version>.gem into the pkg directory
|
93
|
-
rake install # Build and install <gem>-<version>.gem into system gems
|
94
|
-
rake release # Create tag v0.1.1 and build and push <gem>-<version>.gem to Rubygems
|
95
|
-
|
96
|
-
= Best Practices
|
97
|
-
|
98
|
-
1. {Best Practices While Cutting Gems}[http://rubysource.com/crafting-rubies-best-practices-while-cutting-gems].
|
99
|
-
2. {Ruby on Rails Gem Packaging}[http://weblog.rubyonrails.org/2009/9/1/gem-packaging-best-practices].
|
100
|
-
3. {Why You Should Use a BSD Style License}[http://www.freebsd.org/doc/en/articles/bsdl-gpl/article.html].
|
101
|
-
4. Add -w to the RUBYOPT environment variable when testing. {Details}[http://avdi.org/devblog/2011/06/23/how-ruby-helps-you-fix-your-broken-code].
|
102
|
-
|
103
|
-
== When To Include a Railtie (quoted from {Crafting Rails Applications}[http://pragprog.com/book/jvrails/crafting-rails-applications] - Page 93 by José Valim)
|
104
|
-
|
105
|
-
* "Your gem needs to perform a given task while or after the Rails application is initialized."
|
106
|
-
* "Your gem needs to change a configuration value, such as setting a generator."
|
107
|
-
* "Your gem must provide Rake tasks and generators in nondefault locations (the default location for the former is lib/tasks and lib/gen- erators or lib/rails/generators for the latter)."
|
108
|
-
* "You want your gem to provide configuration options to the appli- cation, such as config.my_gem.key = :value."
|
109
|
-
|
110
|
-
= Tests
|
111
|
-
|
112
|
-
To test, do the following:
|
113
|
-
|
114
|
-
1. cd to the gem root.
|
115
|
-
2. bundle install
|
116
|
-
3. bundle exec rspec spec
|
117
|
-
|
118
|
-
= Contributions
|
119
|
-
|
120
|
-
Read CONTRIBUTING for details.
|
121
|
-
|
122
|
-
= Credits
|
123
|
-
|
124
|
-
Developed by {Brooke Kuhlmann}[http://www.redalchemist.com] at {Red Alchemist}[http://www.redalchemist.com]
|
125
|
-
|
126
|
-
= License
|
127
|
-
|
128
|
-
Copyright (c) 2011 {Red Alchemist}[http://www.redalchemist.com].
|
129
|
-
Read the LICENSE for details.
|
130
|
-
|
131
|
-
= History
|
132
|
-
|
133
|
-
Read the CHANGELOG for details.
|