gemsmith 16.0.0 → 16.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ecd435bbf9cc30cd3697b3a93c654da39363b3d0a09c22ef5632c776c8008df6
4
- data.tar.gz: 4a00b02a0e5c1b8cff3f74e92ffa6dd38c1d1ee9747d3b0a359f00024845631c
3
+ metadata.gz: a7ed3b426a451eec114a907710517ffd7d65bfa94a9ae48c5b3b3d6facd2e95f
4
+ data.tar.gz: 5b588ccd9decb1e9bbeba7d2588cb339e7b9599528153df07ccc09aafe4edf11
5
5
  SHA512:
6
- metadata.gz: cba8254fccb5c9793c2c8930d97477a8a9790d8df4421352b3d55638c11bab9789d966e38e475207b8efc9cce778ea24607ad1213ed838193e45b620b53cd77c
7
- data.tar.gz: f50ac57730ac151c2f38c48df92899b36fc5e3d133217ee8578c414165fda674a45d09fc84d61f6bd9fdd47c270d65f5e133cae86dfb1a73a010392fcb2e47b7
6
+ metadata.gz: 86f3fd45d9cdf2506c26661ddd277506dbb88171080218cabe5397badd911a63ced3bbcaf8324f77ff9d60abdef3a5850bf53bde235b00da4cbdeb2b474183ae
7
+ data.tar.gz: 5d88a77b5f9375a7a3fc04c3fcc0699198fd701c1305e5903058015fed184861c5ffbb1a7cccce1a7b84c5a5b402dd4f3543343bbe3cef72b2099ac24b0b1e7d
checksums.yaml.gz.sig CHANGED
Binary file
data/gemsmith.gemspec CHANGED
@@ -2,8 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "gemsmith"
5
- spec.version = "16.0.0"
6
- spec.platform = Gem::Platform::RUBY
5
+ spec.version = "16.1.0"
7
6
  spec.authors = ["Brooke Kuhlmann"]
8
7
  spec.email = ["brooke@alchemists.io"]
9
8
  spec.homepage = "https://www.alchemists.io/projects/gemsmith"
@@ -29,7 +28,8 @@ Gem::Specification.new do |spec|
29
28
  spec.add_dependency "pastel", "~> 0.8"
30
29
  spec.add_dependency "refinements", "~> 9.1"
31
30
  spec.add_dependency "rubysmith", "~> 1.2"
32
- spec.add_dependency "runcom", "~> 8.0"
31
+ spec.add_dependency "runcom", "~> 8.2"
32
+ spec.add_dependency "spek", "~> 0.0"
33
33
  spec.add_dependency "versionaire", "~> 10.0"
34
34
  spec.add_dependency "zeitwerk", "~> 2.5"
35
35
 
@@ -37,5 +37,4 @@ Gem::Specification.new do |spec|
37
37
  spec.executables << "gemsmith"
38
38
  spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
39
39
  spec.files = Dir.glob ["*.gemspec", "lib/**/*"], File::FNM_DOTMATCH
40
- spec.require_paths = ["lib"]
41
40
  end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "refinements/structs"
4
+
5
+ module Gemsmith
6
+ module Builders
7
+ module Documentation
8
+ # Builds project skeleton README documentation.
9
+ class Readme
10
+ using Refinements::Structs
11
+
12
+ def self.call(...) = new(...).call
13
+
14
+ def initialize configuration, builder: Rubysmith::Builder
15
+ @configuration = configuration
16
+ @builder = builder
17
+ end
18
+
19
+ def call
20
+ return configuration unless configuration.build_readme
21
+
22
+ builder.call(configuration.merge(template_path: "%project_name%/README.#{kind}.erb"))
23
+ .replace("Rubysmith", "Gemsmith")
24
+ .replace("rubysmith", "gemsmith")
25
+
26
+ configuration
27
+ end
28
+
29
+ private
30
+
31
+ attr_reader :configuration, :builder
32
+
33
+ def kind = configuration.documentation_format
34
+ end
35
+ end
36
+ end
37
+ end
@@ -11,6 +11,7 @@ module Gemsmith
11
11
  Rubysmith::Builders::Version,
12
12
  Builders::Specification,
13
13
  Rubysmith::Builders::Documentation::Readme,
14
+ Builders::Documentation::Readme,
14
15
  Rubysmith::Builders::Documentation::Citation,
15
16
  Rubysmith::Builders::Documentation::License,
16
17
  Rubysmith::Builders::Documentation::Version,
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "dry/monads"
4
+ require "spek"
4
5
 
5
6
  module Gemsmith
6
7
  module CLI
@@ -9,7 +10,7 @@ module Gemsmith
9
10
  class Edit
10
11
  include Dry::Monads[:result]
11
12
 
12
- def initialize picker: Gems::Picker, editor: Tools::Editor.new, container: Container
13
+ def initialize picker: Spek::Picker, editor: Tools::Editor.new, container: Container
13
14
  @picker = picker
14
15
  @editor = editor
15
16
  @container = container
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "dry/monads"
4
+ require "spek"
4
5
 
5
6
  module Gemsmith
6
7
  module CLI
@@ -9,7 +10,7 @@ module Gemsmith
9
10
  class Install
10
11
  include Dry::Monads[:result]
11
12
 
12
- def initialize installer: Tools::Installer.new, loader: Gems::Loader, container: Container
13
+ def initialize installer: Tools::Installer.new, loader: Spek::Loader, container: Container
13
14
  @installer = installer
14
15
  @loader = loader
15
16
  @container = container
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "dry/monads"
4
+ require "spek"
4
5
 
5
6
  module Gemsmith
6
7
  module CLI
@@ -9,7 +10,7 @@ module Gemsmith
9
10
  class Publish
10
11
  include Dry::Monads[:result]
11
12
 
12
- def initialize publisher: Tools::Publisher.new, loader: Gems::Loader, container: Container
13
+ def initialize publisher: Tools::Publisher.new, loader: Spek::Loader, container: Container
13
14
  @publisher = publisher
14
15
  @loader = loader
15
16
  @container = container
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "dry/monads"
4
+ require "spek"
4
5
 
5
6
  module Gemsmith
6
7
  module CLI
@@ -9,7 +10,7 @@ module Gemsmith
9
10
  class View
10
11
  include Dry::Monads[:result]
11
12
 
12
- def initialize picker: Gems::Picker, viewer: Tools::Viewer.new, container: Container
13
+ def initialize picker: Spek::Picker, viewer: Tools::Viewer.new, container: Container
13
14
  @picker = picker
14
15
  @viewer = viewer
15
16
  @container = container
@@ -37,7 +37,7 @@ module Gemsmith
37
37
  in action_publish: true then publish configuration
38
38
  in action_edit: String => gem_name then edit gem_name
39
39
  in action_view: String => gem_name then view gem_name
40
- in action_version: true then logger.info specification.labeled_version
40
+ in action_version: true then logger.info { specification.labeled_version }
41
41
  else usage
42
42
  end
43
43
  end
@@ -54,7 +54,7 @@ module Gemsmith
54
54
 
55
55
  def view(gem_name) = actions.fetch(__method__).call(gem_name)
56
56
 
57
- def usage = logger.unknown(parser.to_s)
57
+ def usage = logger.unknown { parser.to_s }
58
58
 
59
59
  def logger = container[__method__]
60
60
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "dry-container"
4
4
  require "open3"
5
+ require "spek"
5
6
 
6
7
  module Gemsmith
7
8
  # Provides a global gem container for injection into other objects.
@@ -13,7 +14,7 @@ module Gemsmith
13
14
  merge Rubysmith::Container
14
15
 
15
16
  register(:configuration) { Gemsmith::Configuration::Loader.call }
16
- register(:specification) { Gemsmith::Gems::Loader.call "#{__dir__}/../../gemsmith.gemspec" }
17
+ register(:specification) { Spek::Loader.call "#{__dir__}/../../gemsmith.gemspec" }
17
18
  register(:environment) { ENV }
18
19
  register(:executor) { Open3 }
19
20
  register(:kernel) { Kernel }
@@ -7,6 +7,8 @@ module Gemsmith
7
7
  def self.call(path, ...) = new(...).call path
8
8
 
9
9
  def initialize client: ::Gem::Specification, presenter: Gems::Presenter
10
+ warn "[DEPRECATION]: Finder is deprecated, use Spek gem instead."
11
+
10
12
  @client = client
11
13
  @presenter = presenter
12
14
  end
@@ -7,6 +7,8 @@ module Gemsmith
7
7
  def self.call(path, ...) = new(...).call path
8
8
 
9
9
  def initialize client: ::Gem::Specification, presenter: Gems::Presenter
10
+ warn "[DEPRECATION]: Loader is deprecated, use Spek gem instead."
11
+
10
12
  @client = client
11
13
  @presenter = presenter
12
14
  end
@@ -11,6 +11,8 @@ module Gemsmith
11
11
  def self.call(name, ...) = new(...).call name
12
12
 
13
13
  def initialize finder: Finder.new, kernel: Kernel
14
+ warn "[DEPRECATION]: Picker is deprecated, use Spek gem instead."
15
+
14
16
  @finder = finder
15
17
  @kernel = kernel
16
18
  end
@@ -17,6 +17,8 @@ module Gemsmith
17
17
  delegate %i[metadata name summary] => :record
18
18
 
19
19
  def initialize record
20
+ warn "[DEPRECATION]: Presenter is deprecated, use Spek gem instead."
21
+
20
22
  @record = record
21
23
  end
22
24
 
@@ -1,7 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "<%= configuration.project_name %>"
3
3
  spec.version = "<%= configuration.project_version %>"
4
- spec.platform = Gem::Platform::RUBY
5
4
  spec.authors = ["<%= configuration.author_name %>"]
6
5
  spec.email = ["<%= configuration.author_email %>"]
7
6
  spec.homepage = "<%= configuration.computed_project_url_home %>"
@@ -33,7 +32,7 @@ Gem::Specification.new do |spec|
33
32
  spec.add_dependency "refinements", "~> 9.1"
34
33
  <% end %>
35
34
  <% if configuration.build_cli %>
36
- spec.add_dependency "runcom", "~> 8.0"
35
+ spec.add_dependency "runcom", "~> 8.2"
37
36
  <% end %>
38
37
  <% if configuration.build_zeitwerk %>
39
38
  spec.add_dependency "zeitwerk", "~> 2.5"
@@ -45,5 +44,4 @@ Gem::Specification.new do |spec|
45
44
  <% end %>
46
45
  spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
47
46
  spec.files = Dir["*.gemspec", "lib/**/*"]
48
- spec.require_paths = ["lib"]
49
47
  end
@@ -30,7 +30,7 @@
30
30
 
31
31
  def config(action) = actions.fetch(__method__).call(action)
32
32
 
33
- def usage = logger.unknown(parser.to_s)
33
+ def usage = logger.unknown { parser.to_s }
34
34
 
35
35
  def logger = container[__method__]
36
36
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemsmith
3
3
  version: !ruby/object:Gem::Version
4
- version: 16.0.0
4
+ version: 16.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -28,7 +28,7 @@ cert_chain:
28
28
  lkHilIrX69jq8wMPpBhlaw2mRmeSL50Wv5u6xVBvOHhXFSP1crXM95vfLhLyRYod
29
29
  W2A=
30
30
  -----END CERTIFICATE-----
31
- date: 2022-01-27 00:00:00.000000000 Z
31
+ date: 2022-01-30 00:00:00.000000000 Z
32
32
  dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: dry-container
@@ -120,14 +120,28 @@ dependencies:
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: '8.0'
123
+ version: '8.2'
124
124
  type: :runtime
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: '8.0'
130
+ version: '8.2'
131
+ - !ruby/object:Gem::Dependency
132
+ name: spek
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '0.0'
138
+ type: :runtime
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '0.0'
131
145
  - !ruby/object:Gem::Dependency
132
146
  name: versionaire
133
147
  requirement: !ruby/object:Gem::Requirement
@@ -173,6 +187,7 @@ files:
173
187
  - lib/gemsmith.rb
174
188
  - lib/gemsmith/builders/bundler.rb
175
189
  - lib/gemsmith/builders/cli.rb
190
+ - lib/gemsmith/builders/documentation/readme.rb
176
191
  - lib/gemsmith/builders/git/commit.rb
177
192
  - lib/gemsmith/builders/git/ignore.rb
178
193
  - lib/gemsmith/builders/rspec/helper.rb
@@ -247,7 +262,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
247
262
  - !ruby/object:Gem::Version
248
263
  version: '0'
249
264
  requirements: []
250
- rubygems_version: 3.3.5
265
+ rubygems_version: 3.3.6
251
266
  signing_key:
252
267
  specification_version: 4
253
268
  summary: A command line interface for smithing Ruby gems.
metadata.gz.sig CHANGED
Binary file