ast-merge 2.0.2 → 2.0.3

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: 1de91847b37300f7564eae028784a690a9b6b45cecf05f00bd4bece6fac30aa9
4
- data.tar.gz: a3360868514b6f0a448380627d7ab83bf3a9a8684dd07073420b0a79c9396fea
3
+ metadata.gz: 87b2cf66d0fbccf11852ffad3a967f7b470473a31e47af2e87fab99e57f54d23
4
+ data.tar.gz: 8472ce9175eb6fb14e29bcb4f65775d6557d40206ec5c763800012cf70ff7178
5
5
  SHA512:
6
- metadata.gz: 4c856bac67aefb340a5c69784bcd2869a5fb1bd4b566b212047120f1214ba0f7d0d2e112d2d6bf76a845eb9acfa941c5e0e6648d49f26bbbbb1a5ba0144b2485
7
- data.tar.gz: 01fa4378ec6b0b6eaf4fb32e6af26a5ea5878cf55c59dbc36d098632f11c83d5531406114ca58d02b396c05f01bee1cf9d6f65ca41cfadae7fde6cd6cf7a5815
6
+ metadata.gz: 7149ffb09a690608f382f63e9cff91bd85ceb25518b6744cc4617c638fe0acc4bd3a96de17f047c72161a5e4836b615e1721e550e34eee998916ab78b82df380
7
+ data.tar.gz: 0b5b63b49be561c75027767dd850a692d31a047e000aa2404cc83df27bc4304a6d047e434e2402ddf1ffaed63a5044ea60f515b80959284b6faa52222da8e7fa
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,20 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [2.0.3] - 2025-12-30
34
+
35
+ - TAG: [v2.0.3][2.0.3t]
36
+ - COVERAGE: 88.45% -- 2894/3272 lines in 53 files
37
+ - BRANCH COVERAGE: 67.83% -- 698/1029 branches in 53 files
38
+ - 98.82% documented
39
+
40
+ ### Fixed
41
+
42
+ - `Ast::Merge::DebugLogger::BENCHMARK_AVAILABLE` now correctly detects when benchmark gem is unavailable
43
+ - Previous implementation used `autoload` which never raises `LoadError` (it only registers for lazy loading)
44
+ - Now uses `require "benchmark"` which properly catches `LoadError` on Ruby 4.0+ where benchmark is a bundled gem
45
+ - The `#time` method now correctly falls back to non-timed execution when benchmark is unavailable
46
+
33
47
  ## [2.0.2] - 2025-12-30
34
48
 
35
49
  - TAG: [v2.0.2][2.0.2t]
@@ -284,7 +298,9 @@ Please file a bug if you notice a violation of semantic versioning.
284
298
 
285
299
  - Initial release
286
300
 
287
- [Unreleased]: https://github.com/kettle-rb/ast-merge/compare/v2.0.2...HEAD
301
+ [Unreleased]: https://github.com/kettle-rb/ast-merge/compare/v2.0.3...HEAD
302
+ [2.0.3]: https://github.com/kettle-rb/ast-merge/compare/v2.0.2...v2.0.3
303
+ [2.0.3t]: https://github.com/kettle-rb/ast-merge/releases/tag/v2.0.3
288
304
  [2.0.2]: https://github.com/kettle-rb/ast-merge/compare/v2.0.1...v2.0.2
289
305
  [2.0.2t]: https://github.com/kettle-rb/ast-merge/releases/tag/v2.0.2
290
306
  [2.0.1]: https://github.com/kettle-rb/ast-merge/compare/v2.0.0...v2.0.1
data/README.md CHANGED
@@ -1032,7 +1032,7 @@ Thanks for RTFM. ☺️
1032
1032
  [📌gitmoji]: https://gitmoji.dev
1033
1033
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
1034
1034
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
1035
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-3.271-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1035
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-3.272-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1036
1036
  [🔐security]: SECURITY.md
1037
1037
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
1038
1038
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -70,16 +70,15 @@ module Ast
70
70
  #
71
71
  # @note Shared examples require +silent_stream+ and +rspec-stubbed_env+ gems.
72
72
  module DebugLogger
73
- # Benchmark is optional - gracefully degrade if not available
74
- # Use autoload to defer loading until actually needed
73
+ # Benchmark is optional - gracefully degrade if not available.
74
+ # As of Ruby 4.0, benchmark is a bundled gem (not default), so it may not be available.
75
+ # We attempt to require it at load time and set a flag for later use.
75
76
  BENCHMARK_AVAILABLE = begin
76
- autoload(:Benchmark, "benchmark")
77
+ require "benchmark"
77
78
  true
78
79
  rescue LoadError
79
- # :nocov:
80
- # Platform-specific: benchmark is part of Ruby stdlib, LoadError only on unusual Ruby builds
80
+ # benchmark gem not available (Ruby 4.0+ without explicit dependency, or unusual Ruby builds)
81
81
  false
82
- # :nocov:
83
82
  end
84
83
 
85
84
  class << self
@@ -5,7 +5,7 @@ module Ast
5
5
  # Version information for Ast::Merge
6
6
  module Version
7
7
  # Current version of the ast-merge gem
8
- VERSION = "2.0.2"
8
+ VERSION = "2.0.3"
9
9
  end
10
10
  VERSION = Version::VERSION # traditional location
11
11
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ast-merge
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -352,10 +352,10 @@ licenses:
352
352
  - MIT
353
353
  metadata:
354
354
  homepage_uri: https://ast-merge.galtzo.com/
355
- source_code_uri: https://github.com/kettle-rb/ast-merge/tree/v2.0.2
356
- changelog_uri: https://github.com/kettle-rb/ast-merge/blob/v2.0.2/CHANGELOG.md
355
+ source_code_uri: https://github.com/kettle-rb/ast-merge/tree/v2.0.3
356
+ changelog_uri: https://github.com/kettle-rb/ast-merge/blob/v2.0.3/CHANGELOG.md
357
357
  bug_tracker_uri: https://github.com/kettle-rb/ast-merge/issues
358
- documentation_uri: https://www.rubydoc.info/gems/ast-merge/2.0.2
358
+ documentation_uri: https://www.rubydoc.info/gems/ast-merge/2.0.3
359
359
  funding_uri: https://github.com/sponsors/pboling
360
360
  wiki_uri: https://github.com/kettle-rb/ast-merge/wiki
361
361
  news_uri: https://www.railsbling.com/tags/ast-merge
metadata.gz.sig CHANGED
Binary file