gemvault 0.2.3 → 0.2.4

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
  SHA256:
3
- metadata.gz: fc64d612838fd7c22293d18622272cf495d92374f0b23aeb55eb900678081ec8
4
- data.tar.gz: 29dae30a7efc5c9d38b829859682e8c3d0db49e340b4e1a28f139940045938ad
3
+ metadata.gz: f95c7549060cbc79cadfe917e554bdaf894a1826351ab1935fe90e29197dcf82
4
+ data.tar.gz: 46247a46388af9ea35772c647456a80bbd68b7e96f98d0b3c2b456982b320ac5
5
5
  SHA512:
6
- metadata.gz: 305c089e3b58804bbf70f89e3c11f94300fc2e6204dec50fab4fb63346da163fe735f639ee89a7fceea83caa53b17f2a69c3f898e97e4b0585ace415f0ade178
7
- data.tar.gz: 15bcb0df46245246f279fcb4a08bfa1c351d68f09e432ac547df92e56120800bc5decc1ae5f8351a49990b0f5001a23437a78161af66491f1dd71a2162915bb0
6
+ metadata.gz: eadddf04aad0f8307523984ddf26ee790e1b78a24480eeba13ba35f778521140e833d7ebfc307daf5edbb8ab666290feb05829fa92a787d1b5134568a911faa9
7
+ data.tar.gz: cd9dad01cfe52dc4f2d828ae5908a6bd40b2077adcdd45e7059901b7712762fc99fc407ee33d5fea3f80a46c912e7f3c1453c7596306073d1de68e6707908565
data/.rubocop.yml CHANGED
@@ -12,6 +12,7 @@
12
12
  plugins:
13
13
  - rubocop-claude
14
14
  - rubocop-rspec
15
+ - rubocop-minitest # Permitted by David.
15
16
  - rubocop-performance
16
17
  - rubocop-rake
17
18
 
data/.rubycritic.yml CHANGED
@@ -7,9 +7,15 @@ no_browser: true # default is false
7
7
  formats: # Available values are: html, json, console, lint. Default value is html.
8
8
  - console
9
9
  - json
10
- minimum_score: 95 # default is 0
10
+ minimum_score: 90 # was 95; 90 permitted by David
11
+ # spec/ example files are deliberately not scored: flog charges a fixed
12
+ # multiplier per block level, so idiomatic RSpec describe/context nesting reads
13
+ # as complexity. Spec style is rubocop-rspec's job. spec/support/ stays in --
14
+ # the container harness (ContainerImage, Shell, Podman, GemIndex, ...) is plain
15
+ # Ruby that deserves the same gate as lib/. Minitest files likewise. The spec/
16
+ # exclusion and the 90 gate below were permitted by David.
11
17
  paths: # Files to analyse. Churn calculation is scoped to these files when using Git SCM.
12
18
  - "lib/"
13
- - "spec/"
19
+ - "spec/support/"
14
20
  - "test/"
15
21
  - "shim/"
data/CLAUDE.md CHANGED
@@ -105,16 +105,20 @@ bundle exec rake spec:build # rebuild the container image
105
105
  bundle exec rake spec:teardown # remove it
106
106
  ```
107
107
 
108
- - `test/vault_test.rb` — unit tests for Vault class
109
- - `test/vault_source_test.rb` — unit tests for Bundler source plugin
110
- - `test/cli_test.rb` — CLI tests
111
- - `test/rubygems_plugin_test.rb` — source, resolver, monkey-patches, gem install integration, file:// URI, verbose logging
108
+ - `test/vault_{lifecycle,mutation,entries,content}_test.rb` — unit tests for the Vault facade
109
+ - `test/vault_source_*_test.rb` — unit tests for the Bundler source plugin (metadata, gemspecs, modes, install)
110
+ - `test/cli_*_test.rb` — in-process CLI tests (new, add, list, remove, extract, and top-level dispatch; upgrade and doctor are covered by RSpec under `spec/gemvault/cli`)
111
+ - `test/rubygems_*_test.rb` — RubyGems source, resolver set, monkey-patches, URI handling
112
112
  - `spec/integration/` — end-to-end specs, each run inside a podman container
113
113
  - `spec/support/` — script fragments the integration specs assemble into those containers
114
114
 
115
115
  Integration specs serve the tree's own gems from a local gem index (`GemIndex`)
116
116
  to avoid rubygems.org resolution during testing.
117
117
 
118
+ Rubycritic scores `lib/`, `test/` and `shim/` but not `spec/`: flog taxes each
119
+ block-nesting level, so idiomatic describe/context nesting reads as complexity.
120
+ rubocop-rspec owns spec style.
121
+
118
122
  ### Container fidelity — do not undo these
119
123
 
120
124
  The container has to look like a machine a user actually has. The `ruby` base
@@ -60,11 +60,11 @@ module Gemvault
60
60
  end
61
61
 
62
62
  def report_dry_run(vault:, summary:)
63
- puts "Would upgrade #{vault}: #{summary} (#{summary.gem_count} gems)"
63
+ puts "Would upgrade #{vault}: #{summary}"
64
64
  end
65
65
 
66
66
  def report_upgraded(vault:, summary:)
67
- puts "Upgraded #{vault}: #{summary} (#{summary.gem_count} gems)"
67
+ puts "Upgraded #{vault}: #{summary}"
68
68
  end
69
69
  end
70
70
  end
@@ -15,7 +15,7 @@ module Gemvault
15
15
  class Plan < Data.define(:from_version, :to_version, :gem_count)
16
16
  def no_op? = from_version == to_version
17
17
 
18
- def to_s = "format #{from_version} -> #{to_version}"
18
+ def to_s = "format #{from_version} -> #{to_version} (#{gem_count} gems)"
19
19
 
20
20
  def deconstruct_keys(_keys)
21
21
  { from_version:, to_version:, gem_count:, no_op: no_op? }
@@ -1,3 +1,3 @@
1
1
  module Gemvault
2
- VERSION = "0.2.3".freeze
2
+ VERSION = "0.2.4".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemvault
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Gillis