canon 0.2.12 → 0.3.0

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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +54 -7
  3. data/CLAUDE.md +197 -0
  4. data/lib/canon/commands/diff_command.rb +1 -2
  5. data/lib/canon/comparison/comparison_result.rb +1 -2
  6. data/lib/canon/comparison/diff_node_builder.rb +1 -1
  7. data/lib/canon/comparison/format_detector.rb +27 -29
  8. data/lib/canon/comparison/html_comparator.rb +14 -14
  9. data/lib/canon/comparison/node_inspector.rb +5 -9
  10. data/lib/canon/comparison/xml_comparator/attribute_comparator.rb +1 -1
  11. data/lib/canon/comparison/xml_comparator/node_parser.rb +3 -3
  12. data/lib/canon/comparison/xml_node_comparison.rb +2 -2
  13. data/lib/canon/comparison.rb +1 -1
  14. data/lib/canon/diff_formatter/by_line/base_formatter.rb +1 -2
  15. data/lib/canon/diff_formatter/by_line/html_formatter.rb +1 -2
  16. data/lib/canon/diff_formatter/by_line_formatter.rb +1 -2
  17. data/lib/canon/diff_formatter/diff_detail_formatter/node_utils.rb +2 -2
  18. data/lib/canon/diff_formatter/theme.rb +2 -2
  19. data/lib/canon/diff_formatter.rb +2 -4
  20. data/lib/canon/html/nokogiri_support.rb +60 -0
  21. data/lib/canon/html.rb +1 -0
  22. data/lib/canon/pretty_printer/xml.rb +6 -1
  23. data/lib/canon/pretty_printer/xml_normalized.rb +5 -5
  24. data/lib/canon/tree_diff/core/tree_node.rb +4 -3
  25. data/lib/canon/tree_diff/operation_converter_helpers/post_processor.rb +1 -1
  26. data/lib/canon/version.rb +1 -1
  27. data/lib/canon/xml/data_model.rb +206 -33
  28. data/lib/canon/xml/processor.rb +10 -2
  29. data/lib/canon/xml/sax/moxml_driver.rb +58 -0
  30. data/lib/canon/xml/sax/nokogiri_driver.rb +54 -0
  31. data/lib/canon/xml/sax.rb +37 -0
  32. data/lib/canon/xml/sax_builder.rb +31 -20
  33. data/lib/canon/xml.rb +1 -0
  34. data/lib/canon/xml_backend.rb +39 -54
  35. data/lib/canon/xml_parsing.rb +89 -118
  36. data/lib/canon.rb +1 -2
  37. data/lib/tasks/benchmark_runner.rb +4 -0
  38. data/lib/tasks/performance.rake +2 -0
  39. data/lib/tasks/performance_report.rb +12 -8
  40. metadata +9 -4
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.2.12
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-06-15 00:00:00.000000000 Z
11
+ date: 2026-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: diff-lcs
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.1.22
47
+ version: 0.5.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.1.22
54
+ version: 0.5.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: nokogiri
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -151,6 +151,7 @@ files:
151
151
  - ".rspec-opal"
152
152
  - ".rubocop.yml"
153
153
  - ".rubocop_todo.yml"
154
+ - CLAUDE.md
154
155
  - CODE_OF_CONDUCT.md
155
156
  - README.adoc
156
157
  - Rakefile
@@ -330,6 +331,7 @@ files:
330
331
  - lib/canon/formatters/yaml_formatter.rb
331
332
  - lib/canon/html.rb
332
333
  - lib/canon/html/data_model.rb
334
+ - lib/canon/html/nokogiri_support.rb
333
335
  - lib/canon/options.rb
334
336
  - lib/canon/options/cli_generator.rb
335
337
  - lib/canon/options/registry.rb
@@ -394,6 +396,9 @@ files:
394
396
  - lib/canon/xml/nodes/root_node.rb
395
397
  - lib/canon/xml/nodes/text_node.rb
396
398
  - lib/canon/xml/processor.rb
399
+ - lib/canon/xml/sax.rb
400
+ - lib/canon/xml/sax/moxml_driver.rb
401
+ - lib/canon/xml/sax/nokogiri_driver.rb
397
402
  - lib/canon/xml/sax_builder.rb
398
403
  - lib/canon/xml/whitespace_normalizer.rb
399
404
  - lib/canon/xml/xml_base_handler.rb