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