canon 0.1.7 → 0.1.9
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 +4 -4
- data/.rubocop_todo.yml +69 -92
- data/README.adoc +13 -13
- data/docs/.lycheeignore +69 -0
- data/docs/Gemfile +1 -0
- data/docs/_config.yml +90 -1
- data/docs/advanced/diff-classification.adoc +82 -2
- data/docs/advanced/extending-canon.adoc +193 -0
- data/docs/features/match-options/index.adoc +239 -1
- data/docs/internals/diffnode-enrichment.adoc +611 -0
- data/docs/internals/index.adoc +251 -0
- data/docs/lychee.toml +13 -6
- data/docs/understanding/architecture.adoc +749 -33
- data/docs/understanding/comparison-pipeline.adoc +122 -0
- data/lib/canon/cache.rb +129 -0
- data/lib/canon/comparison/dimensions/attribute_order_dimension.rb +68 -0
- data/lib/canon/comparison/dimensions/attribute_presence_dimension.rb +68 -0
- data/lib/canon/comparison/dimensions/attribute_values_dimension.rb +171 -0
- data/lib/canon/comparison/dimensions/base_dimension.rb +107 -0
- data/lib/canon/comparison/dimensions/comments_dimension.rb +121 -0
- data/lib/canon/comparison/dimensions/element_position_dimension.rb +90 -0
- data/lib/canon/comparison/dimensions/registry.rb +77 -0
- data/lib/canon/comparison/dimensions/structural_whitespace_dimension.rb +119 -0
- data/lib/canon/comparison/dimensions/text_content_dimension.rb +96 -0
- data/lib/canon/comparison/dimensions.rb +54 -0
- data/lib/canon/comparison/format_detector.rb +87 -0
- data/lib/canon/comparison/html_comparator.rb +70 -26
- data/lib/canon/comparison/html_compare_profile.rb +8 -2
- data/lib/canon/comparison/html_parser.rb +80 -0
- data/lib/canon/comparison/json_comparator.rb +12 -0
- data/lib/canon/comparison/json_parser.rb +19 -0
- data/lib/canon/comparison/markup_comparator.rb +293 -0
- data/lib/canon/comparison/match_options/base_resolver.rb +150 -0
- data/lib/canon/comparison/match_options/json_resolver.rb +82 -0
- data/lib/canon/comparison/match_options/xml_resolver.rb +151 -0
- data/lib/canon/comparison/match_options/yaml_resolver.rb +87 -0
- data/lib/canon/comparison/match_options.rb +68 -463
- data/lib/canon/comparison/profile_definition.rb +149 -0
- data/lib/canon/comparison/ruby_object_comparator.rb +180 -0
- data/lib/canon/comparison/strategies/semantic_tree_match_strategy.rb +7 -10
- data/lib/canon/comparison/whitespace_sensitivity.rb +208 -0
- data/lib/canon/comparison/xml_comparator/attribute_comparator.rb +177 -0
- data/lib/canon/comparison/xml_comparator/attribute_filter.rb +136 -0
- data/lib/canon/comparison/xml_comparator/child_comparison.rb +197 -0
- data/lib/canon/comparison/xml_comparator/diff_node_builder.rb +115 -0
- data/lib/canon/comparison/xml_comparator/namespace_comparator.rb +186 -0
- data/lib/canon/comparison/xml_comparator/node_parser.rb +79 -0
- data/lib/canon/comparison/xml_comparator/node_type_comparator.rb +102 -0
- data/lib/canon/comparison/xml_comparator.rb +97 -684
- data/lib/canon/comparison/xml_node_comparison.rb +319 -0
- data/lib/canon/comparison/xml_parser.rb +19 -0
- data/lib/canon/comparison/yaml_comparator.rb +3 -3
- data/lib/canon/comparison.rb +265 -110
- data/lib/canon/diff/diff_classifier.rb +101 -2
- data/lib/canon/diff/diff_node.rb +32 -2
- data/lib/canon/diff/formatting_detector.rb +1 -1
- data/lib/canon/diff/node_serializer.rb +191 -0
- data/lib/canon/diff/path_builder.rb +143 -0
- data/lib/canon/diff_formatter/by_line/base_formatter.rb +251 -0
- data/lib/canon/diff_formatter/by_line/html_formatter.rb +6 -248
- data/lib/canon/diff_formatter/by_line/xml_formatter.rb +38 -229
- data/lib/canon/diff_formatter/diff_detail_formatter/color_helper.rb +30 -0
- data/lib/canon/diff_formatter/diff_detail_formatter/dimension_formatter.rb +579 -0
- data/lib/canon/diff_formatter/diff_detail_formatter/location_extractor.rb +121 -0
- data/lib/canon/diff_formatter/diff_detail_formatter/node_utils.rb +253 -0
- data/lib/canon/diff_formatter/diff_detail_formatter/text_utils.rb +61 -0
- data/lib/canon/diff_formatter/diff_detail_formatter.rb +31 -1028
- data/lib/canon/diff_formatter.rb +1 -1
- data/lib/canon/rspec_matchers.rb +38 -9
- data/lib/canon/tree_diff/operation_converter.rb +92 -338
- data/lib/canon/tree_diff/operation_converter_helpers/metadata_enricher.rb +71 -0
- data/lib/canon/tree_diff/operation_converter_helpers/post_processor.rb +103 -0
- data/lib/canon/tree_diff/operation_converter_helpers/reason_builder.rb +168 -0
- data/lib/canon/tree_diff/operation_converter_helpers/update_change_handler.rb +188 -0
- data/lib/canon/version.rb +1 -1
- data/lib/canon/xml/data_model.rb +24 -13
- metadata +48 -2
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: canon
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-01-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: diff-lcs
|
|
@@ -139,11 +139,13 @@ files:
|
|
|
139
139
|
- CODE_OF_CONDUCT.md
|
|
140
140
|
- README.adoc
|
|
141
141
|
- Rakefile
|
|
142
|
+
- docs/.lycheeignore
|
|
142
143
|
- docs/Gemfile
|
|
143
144
|
- docs/INDEX.adoc
|
|
144
145
|
- docs/_config.yml
|
|
145
146
|
- docs/advanced/diff-classification.adoc
|
|
146
147
|
- docs/advanced/diff-pipeline.adoc
|
|
148
|
+
- docs/advanced/extending-canon.adoc
|
|
147
149
|
- docs/advanced/index.adoc
|
|
148
150
|
- docs/advanced/semantic-diff-report.adoc
|
|
149
151
|
- docs/advanced/verbose-mode-architecture.adoc
|
|
@@ -169,6 +171,8 @@ files:
|
|
|
169
171
|
- docs/interfaces/index.adoc
|
|
170
172
|
- docs/interfaces/rspec/index.adoc
|
|
171
173
|
- docs/interfaces/ruby-api/index.adoc
|
|
174
|
+
- docs/internals/diffnode-enrichment.adoc
|
|
175
|
+
- docs/internals/index.adoc
|
|
172
176
|
- docs/lychee.toml
|
|
173
177
|
- docs/reference/cli-options.adoc
|
|
174
178
|
- docs/reference/environment-variables.adoc
|
|
@@ -187,6 +191,7 @@ files:
|
|
|
187
191
|
- docs/understanding/index.adoc
|
|
188
192
|
- exe/canon
|
|
189
193
|
- lib/canon.rb
|
|
194
|
+
- lib/canon/cache.rb
|
|
190
195
|
- lib/canon/cli.rb
|
|
191
196
|
- lib/canon/commands/diff_command.rb
|
|
192
197
|
- lib/canon/commands/format_command.rb
|
|
@@ -194,14 +199,44 @@ files:
|
|
|
194
199
|
- lib/canon/comparison/base_comparator.rb
|
|
195
200
|
- lib/canon/comparison/compare_profile.rb
|
|
196
201
|
- lib/canon/comparison/comparison_result.rb
|
|
202
|
+
- lib/canon/comparison/dimensions.rb
|
|
203
|
+
- lib/canon/comparison/dimensions/attribute_order_dimension.rb
|
|
204
|
+
- lib/canon/comparison/dimensions/attribute_presence_dimension.rb
|
|
205
|
+
- lib/canon/comparison/dimensions/attribute_values_dimension.rb
|
|
206
|
+
- lib/canon/comparison/dimensions/base_dimension.rb
|
|
207
|
+
- lib/canon/comparison/dimensions/comments_dimension.rb
|
|
208
|
+
- lib/canon/comparison/dimensions/element_position_dimension.rb
|
|
209
|
+
- lib/canon/comparison/dimensions/registry.rb
|
|
210
|
+
- lib/canon/comparison/dimensions/structural_whitespace_dimension.rb
|
|
211
|
+
- lib/canon/comparison/dimensions/text_content_dimension.rb
|
|
212
|
+
- lib/canon/comparison/format_detector.rb
|
|
197
213
|
- lib/canon/comparison/html_comparator.rb
|
|
198
214
|
- lib/canon/comparison/html_compare_profile.rb
|
|
215
|
+
- lib/canon/comparison/html_parser.rb
|
|
199
216
|
- lib/canon/comparison/json_comparator.rb
|
|
217
|
+
- lib/canon/comparison/json_parser.rb
|
|
218
|
+
- lib/canon/comparison/markup_comparator.rb
|
|
200
219
|
- lib/canon/comparison/match_options.rb
|
|
220
|
+
- lib/canon/comparison/match_options/base_resolver.rb
|
|
221
|
+
- lib/canon/comparison/match_options/json_resolver.rb
|
|
222
|
+
- lib/canon/comparison/match_options/xml_resolver.rb
|
|
223
|
+
- lib/canon/comparison/match_options/yaml_resolver.rb
|
|
224
|
+
- lib/canon/comparison/profile_definition.rb
|
|
225
|
+
- lib/canon/comparison/ruby_object_comparator.rb
|
|
201
226
|
- lib/canon/comparison/strategies/base_match_strategy.rb
|
|
202
227
|
- lib/canon/comparison/strategies/match_strategy_factory.rb
|
|
203
228
|
- lib/canon/comparison/strategies/semantic_tree_match_strategy.rb
|
|
229
|
+
- lib/canon/comparison/whitespace_sensitivity.rb
|
|
204
230
|
- lib/canon/comparison/xml_comparator.rb
|
|
231
|
+
- lib/canon/comparison/xml_comparator/attribute_comparator.rb
|
|
232
|
+
- lib/canon/comparison/xml_comparator/attribute_filter.rb
|
|
233
|
+
- lib/canon/comparison/xml_comparator/child_comparison.rb
|
|
234
|
+
- lib/canon/comparison/xml_comparator/diff_node_builder.rb
|
|
235
|
+
- lib/canon/comparison/xml_comparator/namespace_comparator.rb
|
|
236
|
+
- lib/canon/comparison/xml_comparator/node_parser.rb
|
|
237
|
+
- lib/canon/comparison/xml_comparator/node_type_comparator.rb
|
|
238
|
+
- lib/canon/comparison/xml_node_comparison.rb
|
|
239
|
+
- lib/canon/comparison/xml_parser.rb
|
|
205
240
|
- lib/canon/comparison/yaml_comparator.rb
|
|
206
241
|
- lib/canon/config.rb
|
|
207
242
|
- lib/canon/config/env_provider.rb
|
|
@@ -220,6 +255,8 @@ files:
|
|
|
220
255
|
- lib/canon/diff/diff_report.rb
|
|
221
256
|
- lib/canon/diff/diff_report_builder.rb
|
|
222
257
|
- lib/canon/diff/formatting_detector.rb
|
|
258
|
+
- lib/canon/diff/node_serializer.rb
|
|
259
|
+
- lib/canon/diff/path_builder.rb
|
|
223
260
|
- lib/canon/diff_formatter.rb
|
|
224
261
|
- lib/canon/diff_formatter/by_line/base_formatter.rb
|
|
225
262
|
- lib/canon/diff_formatter/by_line/html_formatter.rb
|
|
@@ -234,6 +271,11 @@ files:
|
|
|
234
271
|
- lib/canon/diff_formatter/character_map.yml
|
|
235
272
|
- lib/canon/diff_formatter/debug_output.rb
|
|
236
273
|
- lib/canon/diff_formatter/diff_detail_formatter.rb
|
|
274
|
+
- lib/canon/diff_formatter/diff_detail_formatter/color_helper.rb
|
|
275
|
+
- lib/canon/diff_formatter/diff_detail_formatter/dimension_formatter.rb
|
|
276
|
+
- lib/canon/diff_formatter/diff_detail_formatter/location_extractor.rb
|
|
277
|
+
- lib/canon/diff_formatter/diff_detail_formatter/node_utils.rb
|
|
278
|
+
- lib/canon/diff_formatter/diff_detail_formatter/text_utils.rb
|
|
237
279
|
- lib/canon/diff_formatter/legend.rb
|
|
238
280
|
- lib/canon/errors.rb
|
|
239
281
|
- lib/canon/formatters/html4_formatter.rb
|
|
@@ -266,6 +308,10 @@ files:
|
|
|
266
308
|
- lib/canon/tree_diff/matchers/structural_propagator.rb
|
|
267
309
|
- lib/canon/tree_diff/matchers/universal_matcher.rb
|
|
268
310
|
- lib/canon/tree_diff/operation_converter.rb
|
|
311
|
+
- lib/canon/tree_diff/operation_converter_helpers/metadata_enricher.rb
|
|
312
|
+
- lib/canon/tree_diff/operation_converter_helpers/post_processor.rb
|
|
313
|
+
- lib/canon/tree_diff/operation_converter_helpers/reason_builder.rb
|
|
314
|
+
- lib/canon/tree_diff/operation_converter_helpers/update_change_handler.rb
|
|
269
315
|
- lib/canon/tree_diff/operations/operation.rb
|
|
270
316
|
- lib/canon/tree_diff/operations/operation_detector.rb
|
|
271
317
|
- lib/canon/tree_diff/tree_diff_integrator.rb
|