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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3b7544cfa83f2b7a90ec5ee96a6e0b9c7cce6b9c
4
- data.tar.gz: c1c91b48b38d5bdd70db0cf7491938f319a0db0c
3
+ metadata.gz: a2437c54efda433409f6ed6dff97d4479ab8c911
4
+ data.tar.gz: 92226a891da304566e93489e37bce5fb71727cff
5
5
  SHA512:
6
- metadata.gz: 2d1d78d97aa31a3d0f6861648af0793ec8a88ae77e262c85172b0a752fdedc961e0c480ae70fdd93ef7a85290a661cc4df08b1c9bf26ffe35feb2c3e0b81216f
7
- data.tar.gz: b0cde9ea830f1ca81eda3c8a5169eb5a4755829a28727b1c6e1a8bb7cf63642c887a08a87e22d13af8f3896c590c74b8e459fb24d9f4245ef1a5c736673c1842
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-8.0.0.gem package
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-8.0.0.gem package
193
- rake publish # Build, tag as v8.0.0 (unsigned), and push gemsmith-8.0.0.gem to RubyGems
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
- @client = Net::HTTP.new uri.host, uri.port
35
- @client.use_ssl = true
36
- @client.verify_mode = OpenSSL::SSL::VERIFY_PEER
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
@@ -12,7 +12,7 @@ module Gemsmith
12
12
  end
13
13
 
14
14
  def self.version
15
- "9.5.0"
15
+ "9.6.0"
16
16
  end
17
17
 
18
18
  def self.version_label
@@ -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.48"
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,6 +1,6 @@
1
1
  prepare:
2
2
  fetch:
3
- - https://raw.githubusercontent.com/bkuhlmann/code_quality/v1.0.0/configurations/rubocop/ruby.yml
3
+ - https://raw.githubusercontent.com/bkuhlmann/code_quality/v1.1.0/configurations/rubocop/ruby.yml
4
4
  engines:
5
5
  shellcheck:
6
6
  enabled: true
@@ -1,5 +1,5 @@
1
1
  inherit_from:
2
- - https://raw.githubusercontent.com/bkuhlmann/code_quality/v1.0.0/configurations/rubocop/ruby.yml
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.0.0/configurations/rubocop/rails.yml
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.5.0
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-07 00:00:00.000000000 Z
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.14'
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.14'
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.48'
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.48'
320
+ version: '0.49'
321
321
  - !ruby/object:Gem::Dependency
322
322
  name: codeclimate-test-reporter
323
323
  requirement: !ruby/object:Gem::Requirement