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