gemsmith 9.5.0 → 9.6.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/README.md +38 -3
- data/lib/gemsmith/authenticators/ruby_gems.rb +5 -4
- data/lib/gemsmith/identity.rb +1 -1
- data/lib/gemsmith/templates/%gem_name%/%gem_name%.gemspec.tt +1 -1
- data/lib/gemsmith/templates/%gem_name%/.codeclimate.yml.tt +1 -1
- data/lib/gemsmith/templates/%gem_name%/.rubocop.yml.tt +2 -2
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a2437c54efda433409f6ed6dff97d4479ab8c911
|
4
|
+
data.tar.gz: 92226a891da304566e93489e37bce5fb71727cff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35465e2422c5ea38b93a0dc84bdb282b3b6866083335cef8fbd3ba65c3cb44a865d634788755dc16d3796867a639d005e4af36b1c8cf632484a2c62d0594f23d
|
7
|
+
data.tar.gz: 1e36cd61e6df3f1ee340506770ba9b82b186ef880485a16c10ca3dcda2b199a4668c50f026f5082b42bb460762fe4866262aa2d88ed6b1973a6212bb2b8e2602
|
data/README.md
CHANGED
@@ -17,6 +17,9 @@ A command line interface for smithing new Ruby gems.
|
|
17
17
|
- [Screencasts](#screencasts)
|
18
18
|
- [Requirements](#requirements)
|
19
19
|
- [Setup](#setup)
|
20
|
+
- [Install](#install)
|
21
|
+
- [Configuration](#configuration)
|
22
|
+
- [Existing Gems](#existing-gems)
|
20
23
|
- [Usage](#usage)
|
21
24
|
- [Command Line Interface (CLI)](#command-line-interface-cli)
|
22
25
|
- [Rake](#rake)
|
@@ -85,6 +88,8 @@ A command line interface for smithing new Ruby gems.
|
|
85
88
|
|
86
89
|
# Setup
|
87
90
|
|
91
|
+
## Install
|
92
|
+
|
88
93
|
For a secure install, type the following from the command line (recommended):
|
89
94
|
|
90
95
|
gem cert --add <(curl --location --silent https://www.alchemists.io/gem-public.pem)
|
@@ -98,6 +103,8 @@ For an insecure install, type the following (not recommended):
|
|
98
103
|
|
99
104
|
gem install gemsmith
|
100
105
|
|
106
|
+
## Configuration
|
107
|
+
|
101
108
|
You can configure common settings for future gem builds by creating the following file:
|
102
109
|
|
103
110
|
~/.gemsmithrc
|
@@ -145,6 +152,29 @@ While Gemsmith is fully customizable, please keep in mind that these are *global
|
|
145
152
|
set, will affect all future gem creations. Further customization is also provided via the CLI for a
|
146
153
|
customizable experience per gem if necessary.
|
147
154
|
|
155
|
+
## Existing Gems
|
156
|
+
|
157
|
+
If you have gems that were not originally crafted by Gemsmith, you can add Gemsmith support to them
|
158
|
+
by modifying the following files:
|
159
|
+
|
160
|
+
Add the following to your gem's `*.gemspec` file:
|
161
|
+
|
162
|
+
spec.add_development_dependency "gemsmith"
|
163
|
+
|
164
|
+
Replace or add a modified version of the following to your gem's `Rakefile`:
|
165
|
+
|
166
|
+
# frozen_string_literal: true
|
167
|
+
|
168
|
+
begin
|
169
|
+
require "gemsmith/rake/setup"
|
170
|
+
rescue LoadError => error
|
171
|
+
puts error.message
|
172
|
+
end
|
173
|
+
|
174
|
+
*NOTE: Ensure `require "bundler/gem_tasks"` is removed as Gemsmith replaces Bundler functionality.*
|
175
|
+
|
176
|
+
With those changes, you can leverage the benefits of Gemsmith within your existing gem.
|
177
|
+
|
148
178
|
# Usage
|
149
179
|
|
150
180
|
## Command Line Interface (CLI)
|
@@ -186,11 +216,16 @@ For more gem generation options, type: `gemsmith --help --generate`
|
|
186
216
|
Once a gem skeleton has been created, the following tasks are available (i.e. `bundle exec rake
|
187
217
|
-T`):
|
188
218
|
|
189
|
-
rake build # Build gemsmith-
|
219
|
+
rake build # Build gemsmith-9.6.0.gem package
|
190
220
|
rake clean # Clean gem artifacts
|
221
|
+
rake code_quality # Run code quality checks
|
191
222
|
rake doc # Update README (table of contents)
|
192
|
-
rake install # Install gemsmith-
|
193
|
-
rake publish # Build, tag as
|
223
|
+
rake install # Install gemsmith-9.6.0.gem package
|
224
|
+
rake publish # Build, tag as v9.6.0 (signed), and push gemsmith-9.6.0.gem to RubyGems
|
225
|
+
rake reek # Check for code smells
|
226
|
+
rake rubocop # Run RuboCop
|
227
|
+
rake rubocop:auto_correct # Auto-correct RuboCop offenses
|
228
|
+
rake spec # Run RSpec code examples
|
194
229
|
|
195
230
|
When building/testing your gem locally, a typical workflow is:
|
196
231
|
|
@@ -16,7 +16,7 @@ module Gemsmith
|
|
16
16
|
@login = login
|
17
17
|
@password = password
|
18
18
|
@uri = URI.parse self.class.url
|
19
|
-
configure_client
|
19
|
+
@client = configure_client
|
20
20
|
end
|
21
21
|
|
22
22
|
def authorization
|
@@ -31,9 +31,10 @@ module Gemsmith
|
|
31
31
|
attr_reader :login, :password, :uri, :client
|
32
32
|
|
33
33
|
def configure_client
|
34
|
-
|
35
|
-
|
36
|
-
|
34
|
+
Net::HTTP.new(uri.host, uri.port).tap do |client|
|
35
|
+
client.use_ssl = true
|
36
|
+
client.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
37
|
+
end
|
37
38
|
end
|
38
39
|
end
|
39
40
|
end
|
data/lib/gemsmith/identity.rb
CHANGED
@@ -44,7 +44,7 @@ Gem::Specification.new do |spec|
|
|
44
44
|
spec.add_development_dependency "reek", "~> 4.6"
|
45
45
|
<%- end -%>
|
46
46
|
<%- if config.dig(:generate, :rubocop) -%>
|
47
|
-
spec.add_development_dependency "rubocop", "~> 0.
|
47
|
+
spec.add_development_dependency "rubocop", "~> 0.49"
|
48
48
|
<%- end -%>
|
49
49
|
<%- if config.dig(:generate, :scss_lint) -%>
|
50
50
|
spec.add_development_dependency "scss_lint", "~> 0.50"
|
@@ -1,5 +1,5 @@
|
|
1
1
|
inherit_from:
|
2
|
-
- https://raw.githubusercontent.com/bkuhlmann/code_quality/v1.
|
2
|
+
- https://raw.githubusercontent.com/bkuhlmann/code_quality/v1.1.0/configurations/rubocop/ruby.yml
|
3
3
|
<%- if config.dig(:generate, :rails) -%>
|
4
|
-
- https://raw.githubusercontent.com/bkuhlmann/code_quality/v1.
|
4
|
+
- https://raw.githubusercontent.com/bkuhlmann/code_quality/v1.1.0/configurations/rubocop/rails.yml
|
5
5
|
<%- end -%>
|
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: 9.
|
4
|
+
version: 9.6.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: 2017-05-
|
11
|
+
date: 2017-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.15'
|
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: '1.
|
26
|
+
version: '1.15'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: thor
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -310,14 +310,14 @@ dependencies:
|
|
310
310
|
requirements:
|
311
311
|
- - "~>"
|
312
312
|
- !ruby/object:Gem::Version
|
313
|
-
version: '0.
|
313
|
+
version: '0.49'
|
314
314
|
type: :development
|
315
315
|
prerelease: false
|
316
316
|
version_requirements: !ruby/object:Gem::Requirement
|
317
317
|
requirements:
|
318
318
|
- - "~>"
|
319
319
|
- !ruby/object:Gem::Version
|
320
|
-
version: '0.
|
320
|
+
version: '0.49'
|
321
321
|
- !ruby/object:Gem::Dependency
|
322
322
|
name: codeclimate-test-reporter
|
323
323
|
requirement: !ruby/object:Gem::Requirement
|