ast-merge 2.0.4 → 2.0.6

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: 2472ef456d1aa146dc31692f6b3c30aa02d9d2276d3b1be1a170056fe764d58c
4
- data.tar.gz: 914a71d9f70a4edf27d91525c4c23166e715ac75009f0ee191eccfd1099d905a
3
+ metadata.gz: 86f9ef0462fcd809046dfc7c0486d9ab739badaab3faf4dfa898089479b7b5b1
4
+ data.tar.gz: f77f27ebd8b050a209c2d94283b93f1282b4f5e3c689229c3ea19432e1d3bafa
5
5
  SHA512:
6
- metadata.gz: 31a80cd7655eb4d6717009b201f5765e8ef699e58d9199355d84e09143df052f201ab906043f62d2606ea227c9ba6703a3bef3c129e2a045402b1aceabe21f56
7
- data.tar.gz: f2245d51fc9d0209159886d1b8f1917b2d86a185dff2ddd07ba3835f0a4bf2085ca773c3dc4e8396fa9e796139e1c0a37c8ba593cabe78ee76d41b221daa669b
6
+ metadata.gz: de6c91e8cb0a86dd1d13a52a2dbda3cd52951f2d4cfd45c171344412a992d59e5db7593c861467df256a798184774c978ddd47abf3c157e5a73b3c994ad337b5
7
+ data.tar.gz: 3ec3274c3366c5bbcd2362ebc0abf71e54292afefa42022fa673996141a43f5385b54c87ca5bf5c15ee2d5267a73544e8316d81bae47ff0ec37dd7772d990566
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,69 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [2.0.6] - 2026-01-01
34
+
35
+ - TAG: [v2.0.6][2.0.6t]
36
+ - COVERAGE: 97.19% -- 2522/2595 lines in 44 files
37
+ - BRANCH COVERAGE: 89.91% -- 864/961 branches in 44 files
38
+ - 98.82% documented
39
+
40
+ ### Added
41
+
42
+ - Comprehensive mocked tests for `Ast::Merge::Recipe::Runner` (47 new tests):
43
+ - Tests for `#run` method with section found, changed, and unchanged scenarios
44
+ - Tests for `#run` with section not found (skipped vs appended)
45
+ - Tests for actual file writes in non-dry_run mode
46
+ - Tests for exception handling during merge
47
+ - Tests for `#summary` with all status counts (updated, would_update, unchanged, skipped, errors)
48
+ - Tests for `#results_by_status` grouping
49
+ - Tests for `#results_table` formatting (file, status, changed, message)
50
+ - Tests for `#summary_table` in both dry_run and non-dry_run modes
51
+ - Tests for `#make_relative` edge cases (base_dir, recipe base, unknown paths)
52
+ - Tests for `#make_relative` without recipe_path
53
+
54
+ ## [2.0.5] - 2025-12-31
55
+
56
+ - TAG: [v2.0.5][2.0.5t]
57
+ - COVERAGE: 91.68% -- 2379/2595 lines in 44 files
58
+ - BRANCH COVERAGE: 81.37% -- 782/961 branches in 44 files
59
+ - 98.82% documented
60
+
61
+ ### Added
62
+
63
+ - Comprehensive tests for `Ast::Merge::AstNode` and nested structs (Point, Location)
64
+ - Tests for `Ast::Merge::Comment::Style` class methods and instance methods
65
+ - Tests for `Ast::Merge::Comment::Line` including freeze marker detection
66
+ - Tests for `Ast::Merge::Comment::Block` including raw_content and children modes
67
+ - Tests for `Ast::Merge::Comment::Parser` edge cases (unclosed blocks, mixed content, auto-detection)
68
+ - Tests for `Ast::Merge::NavigableStatement` tree navigation methods
69
+ - Tests for `Ast::Merge::InjectionPoint` (start_line, end_line, inspect)
70
+ - Tests for `Ast::Merge::InjectionPointFinder` boundary options (boundary_type, boundary_text, boundary_matcher, boundary_same_or_shallower)
71
+ - Tests for `Ast::Merge::PartialTemplateMerger::Result` including injection_point and default values
72
+ - Tests for `Ast::Merge::PartialTemplateMerger` text pattern normalization (regex strings, plain strings)
73
+ - Tests for `Ast::Merge::PartialTemplateMerger` anchor normalization with level options
74
+ - Tests for `Ast::Merge::PartialTemplateMerger` unknown when_missing fallback behavior
75
+ - Tests for `Ast::Merge::PartialTemplateMerger` section boundary detection and replace_mode behavior
76
+ - Tests for `Ast::Merge::PartialTemplateMerger` unknown parser error handling
77
+ - Tests for `Ast::Merge::Recipe::Runner::Result` stats and error attributes
78
+ - Tests for `Ast::Merge::Recipe::Runner` actual file writes (non-dry-run mode)
79
+ - Tests for `Ast::Merge::Recipe::Runner` error handling (unreadable files, missing template)
80
+ - Tests for `Ast::Merge::Recipe::Runner` when_missing with append behavior
81
+ - Tests for `Ast::Merge::Recipe::Config` same_or_shallower boundary, replace_mode, level options
82
+ - Tests for `Ast::Merge::Recipe::Config` injection parsing with empty/nil/Regexp patterns
83
+ - Tests for `Ast::Merge::Recipe::Config` expand_targets with absolute patterns
84
+ - Tests for `Ast::Merge::Recipe::Preset` callable add_missing and node_typing
85
+ - Tests for `Ast::Merge::Recipe::Preset` script_loader caching
86
+ - Tests for `Ast::Merge::Recipe::ScriptLoader` syntax error handling
87
+ - Tests for `Ast::Merge::Recipe::ScriptLoader` absolute path resolution
88
+ - Tests for `Ast::Merge::ContentMatchRefiner` extract_node_type with typed nodes
89
+ - Tests for `Ast::Merge::ContentMatchRefiner` filter_nodes with node_types
90
+
91
+ ### Changed
92
+
93
+ - tree_haver v3.2.1
94
+ - Internal files now use autoload instead of `require_relative` for consistency
95
+
33
96
  ## [2.0.4] - 2025-12-31
34
97
 
35
98
  - TAG: [v2.0.4][2.0.4t]
@@ -317,7 +380,11 @@ Please file a bug if you notice a violation of semantic versioning.
317
380
 
318
381
  - Initial release
319
382
 
320
- [Unreleased]: https://github.com/kettle-rb/ast-merge/compare/v2.0.4...HEAD
383
+ [Unreleased]: https://github.com/kettle-rb/ast-merge/compare/v2.0.6...HEAD
384
+ [2.0.6]: https://github.com/kettle-rb/ast-merge/compare/v2.0.5...v2.0.6
385
+ [2.0.6t]: https://github.com/kettle-rb/ast-merge/releases/tag/v2.0.6
386
+ [2.0.5]: https://github.com/kettle-rb/ast-merge/compare/v2.0.4...v2.0.5
387
+ [2.0.5t]: https://github.com/kettle-rb/ast-merge/releases/tag/v2.0.5
321
388
  [2.0.4]: https://github.com/kettle-rb/ast-merge/compare/v2.0.3...v2.0.4
322
389
  [2.0.4t]: https://github.com/kettle-rb/ast-merge/releases/tag/v2.0.4
323
390
  [2.0.3]: https://github.com/kettle-rb/ast-merge/compare/v2.0.2...v2.0.3
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.276-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1035
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-2.595-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
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../ast_node"
4
- require_relative "style"
5
-
6
3
  module Ast
7
4
  module Merge
8
5
  module Comment
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../ast_node"
4
-
5
3
  module Ast
6
4
  module Merge
7
5
  module Comment
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../ast_node"
4
- require_relative "style"
5
-
6
3
  module Ast
7
4
  module Merge
8
5
  module Comment
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "style"
4
- require_relative "line"
5
- require_relative "empty"
6
- require_relative "block"
7
-
8
3
  module Ast
9
4
  module Merge
10
5
  module Comment
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "freezable"
4
-
5
3
  module Ast
6
4
  module Merge
7
5
  # Mixin module for file analysis classes across all *-merge gems.
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "freezable"
4
-
5
3
  module Ast
6
4
  module Merge
7
5
  # Base class for freeze block nodes in AST merge libraries.
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "freezable"
4
-
5
3
  module Ast
6
4
  module Merge
7
5
  # Provides node type wrapping support for SmartMerger implementations.
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "yaml"
4
- require_relative "preset"
5
4
 
6
5
  module Ast
7
6
  module Merge
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "line_node"
4
- require_relative "word_node"
5
-
6
3
  module Ast
7
4
  module Merge
8
5
  module Text
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../ast_node"
4
-
5
3
  module Ast
6
4
  module Merge
7
5
  module Text
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../ast_node"
4
-
5
3
  module Ast
6
4
  module Merge
7
5
  module Text
@@ -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.4"
8
+ VERSION = "2.0.6"
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.4
4
+ version: 2.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -66,7 +66,7 @@ dependencies:
66
66
  version: '3.2'
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 3.2.0
69
+ version: 3.2.2
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '3.2'
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
- version: 3.2.0
79
+ version: 3.2.2
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: kettle-dev
82
82
  requirement: !ruby/object:Gem::Requirement
@@ -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.4
356
- changelog_uri: https://github.com/kettle-rb/ast-merge/blob/v2.0.4/CHANGELOG.md
355
+ source_code_uri: https://github.com/kettle-rb/ast-merge/tree/v2.0.6
356
+ changelog_uri: https://github.com/kettle-rb/ast-merge/blob/v2.0.6/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.4
358
+ documentation_uri: https://www.rubydoc.info/gems/ast-merge/2.0.6
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