duck_typer 0.3.0 → 0.3.1

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: 8effd9ab824cbdb302917cfce5b6e268d19a25b4320a9e55cfc26b20de81c4e9
4
- data.tar.gz: 57f892ab39e37d9a791996814fd250ee1b5235d18158458ce8c3f784b2533e7b
3
+ metadata.gz: fb7a9d41a358d3238e054a878eca9968910ee1b7917a4379022cbcc7587d0bdd
4
+ data.tar.gz: 17724ad54c3caee0ad1ae7dd46a43f431cd064a00f4f1b53995875095b8d52a9
5
5
  SHA512:
6
- metadata.gz: 3647e54c41e0a190e2c5cb64bf714b7842cf58e9c1eaeacfab08e08c2eff9aa9e14256753306ed84cddc6819ef658381c3ccc5c552843dfebb057fe6c4c12965
7
- data.tar.gz: e3f28a6a4423f580541a11fce992fde8a61c75540a8a0cddf4435fa33fa9abe7d13b42cf614540c2b0d91104eb3a7fa0595cb00443d9255dbe92f5fdacce09e2
6
+ metadata.gz: ef5827a7b0adb92cc6e79c8e152435df3acd66d2905fb075c8535a5af58450a1055121be58f246bcdd8d62fc79124a931bc2904d1c7061a1224b7f19b1c26676
7
+ data.tar.gz: bd6f3660f2db388d41de049e90ab0dc3d8715aa83878555dd6faec700079f6fe1acae98887d19800de505c8756962868ba5b431b8ded4e61c6533df8b5a203b5
data/CHANGELOG.md ADDED
@@ -0,0 +1,46 @@
1
+ # Changelog
2
+
3
+ ## [0.3.1] - 2026-03-07
4
+
5
+ ### Added
6
+ - CHANGELOG
7
+
8
+ ### Changed
9
+ - Add `rake ci` task combining StandardRB, Minitest, and RSpec
10
+ - Add `check_lockfile` task to catch `Gemfile.lock` drift
11
+ - Simplify CI config to a single `rake ci` step
12
+ - Remove empty RBS signature file
13
+ - Add MIT license to gemspec
14
+
15
+ ## [0.3.0] - 2026-03-07
16
+
17
+ ### Added
18
+ - Keyword argument order is now ignored when comparing interfaces —
19
+ `m(a:, b:)` and `m(b:, a:)` are treated as equivalent
20
+ - Support for `:nokey` parameter type (`def foo(**nil)`)
21
+ - `failure_message` now returns `nil` when interfaces match
22
+ - README Limitations section
23
+ - Self-referential test verifying `ClassMethodInspector` and
24
+ `InstanceMethodInspector` share compatible interfaces
25
+
26
+ ### Changed
27
+ - Improved failure message: "implement compatible interfaces" /
28
+ "method signatures differ"
29
+ - Extract `calculate_diff` private method
30
+
31
+ ## [0.2.1] - 2026-03-06
32
+
33
+ ### Changed
34
+ - README improvements: Minitest section moved before RSpec,
35
+ partial interface wording clarified
36
+
37
+ ## [0.2.0] - 2026-03-06
38
+
39
+ ### Changed
40
+ - Renamed `assert_interface_matches` to `assert_interfaces_match`
41
+ (breaking change)
42
+
43
+ ## [0.1.0] - 2026-03-06
44
+
45
+ ### Added
46
+ - Initial release
data/Rakefile CHANGED
@@ -3,6 +3,7 @@
3
3
  require "bundler/gem_tasks"
4
4
  require "rake/testtask"
5
5
  require "rspec/core/rake_task"
6
+ require "standard/rake"
6
7
 
7
8
  Rake::TestTask.new(:minitest) do |t|
8
9
  t.pattern = "test/**/*_test.rb"
@@ -10,6 +11,15 @@ end
10
11
 
11
12
  RSpec::Core::RakeTask.new(:rspec)
12
13
 
14
+ task :check_lockfile do
15
+ sh "bundle install --quiet"
16
+
17
+ unless `git diff Gemfile.lock`.empty?
18
+ abort "Gemfile.lock is out of date. Commit the updated lockfile."
19
+ end
20
+ end
21
+
13
22
  task test: %i[minitest rspec]
23
+ task ci: %i[check_lockfile standard test]
14
24
 
15
25
  task default: %i[]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DuckTyper
4
- VERSION = "0.3.0"
4
+ VERSION = "0.3.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: duck_typer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thiago A. Silva
@@ -18,6 +18,7 @@ extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
20
  - ".standard.yml"
21
+ - CHANGELOG.md
21
22
  - CONTRIBUTING.md
22
23
  - LICENSE
23
24
  - README.md
@@ -31,12 +32,11 @@ files:
31
32
  - lib/duck_typer/minitest.rb
32
33
  - lib/duck_typer/rspec.rb
33
34
  - lib/duck_typer/version.rb
34
- - sig/duck_typer.rbs
35
35
  homepage: https://github.com/thoughtbot/duck_typer
36
- licenses: []
36
+ licenses:
37
+ - MIT
37
38
  metadata:
38
39
  allowed_push_host: https://rubygems.org
39
- homepage_uri: https://github.com/thoughtbot/duck_typer
40
40
  source_code_uri: https://github.com/thoughtbot/duck_typer
41
41
  changelog_uri: https://github.com/thoughtbot/duck_typer/blob/main/CHANGELOG.md
42
42
  rubygems_mfa_required: 'true'
data/sig/duck_typer.rbs DELETED
@@ -1,4 +0,0 @@
1
- module DuckTyper
2
- VERSION: String
3
- # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
- end