taurus 0.1.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 (70) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +8 -0
  4. data/CHANGELOG.md +518 -0
  5. data/CLAUDE.md +104 -0
  6. data/LICENSE.md +33 -0
  7. data/README.adoc +1529 -0
  8. data/Rakefile +7 -0
  9. data/TODO.impl/01-architecture.md +217 -0
  10. data/TODO.impl/02-ffi-declarations.md +236 -0
  11. data/TODO.impl/03-document-node-element-nodeset.md +382 -0
  12. data/TODO.impl/04-sax-parser.md +203 -0
  13. data/TODO.impl/05-serialize-c14n-memory-specs-css.md +276 -0
  14. data/benchmark/README.md +168 -0
  15. data/benchmark/taurus_vs_nokogiri.rb +105 -0
  16. data/docs/ARCHITECTURE.adoc +559 -0
  17. data/docs/BUILD.md +395 -0
  18. data/docs/ERROR_MESSAGES.md +458 -0
  19. data/docs/FFI_ARCHITECTURE.md +439 -0
  20. data/docs/FUTURE_VISION.md +303 -0
  21. data/docs/GITHUB_ACTIONS.md +293 -0
  22. data/docs/OPTIMIZATIONS_IMPLEMENTED.adoc +459 -0
  23. data/docs/PERFORMANCE.adoc +668 -0
  24. data/docs/PERFORMANCE.md +448 -0
  25. data/docs/RELEASE_NOTES_v1.0.0.md +515 -0
  26. data/docs/XPATH_SPEC_COMPLIANCE.md +298 -0
  27. data/docs/completion/taurus.bash +86 -0
  28. data/docs/completion/taurus.zsh +74 -0
  29. data/docs/man/taurus-format.1 +227 -0
  30. data/docs/man/taurus-parse.1 +178 -0
  31. data/docs/man/taurus-xpath.1 +312 -0
  32. data/docs/man/taurus.1 +160 -0
  33. data/docs/v0.9.0_PERFORMANCE_IMPROVEMENTS.md +217 -0
  34. data/docs/v0.9.0_RELEASE_SUMMARY.md +281 -0
  35. data/docs/v1.0.0_CONTINUATION_PLAN.md +172 -0
  36. data/docs/v1.0.0_CONTINUATION_PROMPT.md +382 -0
  37. data/docs/v1.0.0_SESSION_6_CONTINUATION.md +434 -0
  38. data/docs/v1.0.0_SESSION_6_PROMPT.md +231 -0
  39. data/docs/v1.0.0_STATUS_TRACKER.md +224 -0
  40. data/docs/v1.1.0_CONTINUATION_PLAN.md +299 -0
  41. data/docs/v1.1.0_FINAL_CONTINUATION_PLAN.md +201 -0
  42. data/docs/v1.1.0_SESSION_3_PROMPT.md +223 -0
  43. data/docs/v1.1.0_STATUS_TRACKER.md +355 -0
  44. data/docs/xml-performance.adoc +115 -0
  45. data/docs/xpath-performance.adoc +379 -0
  46. data/lib/taurus/version.rb +5 -0
  47. data/lib/taurus/xml/attr.rb +43 -0
  48. data/lib/taurus/xml/c14n.rb +23 -0
  49. data/lib/taurus/xml/cdata.rb +16 -0
  50. data/lib/taurus/xml/comment.rb +16 -0
  51. data/lib/taurus/xml/css_to_xpath.rb +177 -0
  52. data/lib/taurus/xml/doc_type.rb +54 -0
  53. data/lib/taurus/xml/document.rb +202 -0
  54. data/lib/taurus/xml/document_fragment.rb +42 -0
  55. data/lib/taurus/xml/element.rb +278 -0
  56. data/lib/taurus/xml/ffi.rb +420 -0
  57. data/lib/taurus/xml/namespace.rb +43 -0
  58. data/lib/taurus/xml/node.rb +221 -0
  59. data/lib/taurus/xml/node_set.rb +143 -0
  60. data/lib/taurus/xml/parse_options.rb +19 -0
  61. data/lib/taurus/xml/processing_instruction.rb +26 -0
  62. data/lib/taurus/xml/sax/document.rb +45 -0
  63. data/lib/taurus/xml/sax/parser.rb +148 -0
  64. data/lib/taurus/xml/sax.rb +12 -0
  65. data/lib/taurus/xml/searchable.rb +93 -0
  66. data/lib/taurus/xml/text.rb +16 -0
  67. data/lib/taurus/xml.rb +29 -0
  68. data/lib/taurus.rb +7 -0
  69. data/taurus.gemspec +42 -0
  70. metadata +157 -0
metadata ADDED
@@ -0,0 +1,157 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: taurus
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Ribose Inc.
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: ffi
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '1.15'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '1.15'
26
+ - !ruby/object:Gem::Dependency
27
+ name: rake
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: rspec
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ description: |
55
+ Taurus is a Nokogiri-compatible Ruby binding for libtaurus, a pure-C99 XML
56
+ 1.0 parser with full XPath 1.0 and SAX support. The C DOM is the single
57
+ source of truth; Ruby objects are thin FFI wrappers (one Ruby method =
58
+ one FFI call).
59
+ email:
60
+ - open.source@ribose.com
61
+ executables: []
62
+ extensions: []
63
+ extra_rdoc_files: []
64
+ files:
65
+ - ".rspec"
66
+ - ".rubocop.yml"
67
+ - CHANGELOG.md
68
+ - CLAUDE.md
69
+ - LICENSE.md
70
+ - README.adoc
71
+ - Rakefile
72
+ - TODO.impl/01-architecture.md
73
+ - TODO.impl/02-ffi-declarations.md
74
+ - TODO.impl/03-document-node-element-nodeset.md
75
+ - TODO.impl/04-sax-parser.md
76
+ - TODO.impl/05-serialize-c14n-memory-specs-css.md
77
+ - benchmark/README.md
78
+ - benchmark/taurus_vs_nokogiri.rb
79
+ - docs/ARCHITECTURE.adoc
80
+ - docs/BUILD.md
81
+ - docs/ERROR_MESSAGES.md
82
+ - docs/FFI_ARCHITECTURE.md
83
+ - docs/FUTURE_VISION.md
84
+ - docs/GITHUB_ACTIONS.md
85
+ - docs/OPTIMIZATIONS_IMPLEMENTED.adoc
86
+ - docs/PERFORMANCE.adoc
87
+ - docs/PERFORMANCE.md
88
+ - docs/RELEASE_NOTES_v1.0.0.md
89
+ - docs/XPATH_SPEC_COMPLIANCE.md
90
+ - docs/completion/taurus.bash
91
+ - docs/completion/taurus.zsh
92
+ - docs/man/taurus-format.1
93
+ - docs/man/taurus-parse.1
94
+ - docs/man/taurus-xpath.1
95
+ - docs/man/taurus.1
96
+ - docs/v0.9.0_PERFORMANCE_IMPROVEMENTS.md
97
+ - docs/v0.9.0_RELEASE_SUMMARY.md
98
+ - docs/v1.0.0_CONTINUATION_PLAN.md
99
+ - docs/v1.0.0_CONTINUATION_PROMPT.md
100
+ - docs/v1.0.0_SESSION_6_CONTINUATION.md
101
+ - docs/v1.0.0_SESSION_6_PROMPT.md
102
+ - docs/v1.0.0_STATUS_TRACKER.md
103
+ - docs/v1.1.0_CONTINUATION_PLAN.md
104
+ - docs/v1.1.0_FINAL_CONTINUATION_PLAN.md
105
+ - docs/v1.1.0_SESSION_3_PROMPT.md
106
+ - docs/v1.1.0_STATUS_TRACKER.md
107
+ - docs/xml-performance.adoc
108
+ - docs/xpath-performance.adoc
109
+ - lib/taurus.rb
110
+ - lib/taurus/version.rb
111
+ - lib/taurus/xml.rb
112
+ - lib/taurus/xml/attr.rb
113
+ - lib/taurus/xml/c14n.rb
114
+ - lib/taurus/xml/cdata.rb
115
+ - lib/taurus/xml/comment.rb
116
+ - lib/taurus/xml/css_to_xpath.rb
117
+ - lib/taurus/xml/doc_type.rb
118
+ - lib/taurus/xml/document.rb
119
+ - lib/taurus/xml/document_fragment.rb
120
+ - lib/taurus/xml/element.rb
121
+ - lib/taurus/xml/ffi.rb
122
+ - lib/taurus/xml/namespace.rb
123
+ - lib/taurus/xml/node.rb
124
+ - lib/taurus/xml/node_set.rb
125
+ - lib/taurus/xml/parse_options.rb
126
+ - lib/taurus/xml/processing_instruction.rb
127
+ - lib/taurus/xml/sax.rb
128
+ - lib/taurus/xml/sax/document.rb
129
+ - lib/taurus/xml/sax/parser.rb
130
+ - lib/taurus/xml/searchable.rb
131
+ - lib/taurus/xml/text.rb
132
+ - taurus.gemspec
133
+ homepage: https://github.com/lutaml/taurus-ruby
134
+ licenses:
135
+ - MIT
136
+ metadata:
137
+ homepage_uri: https://github.com/lutaml/taurus-ruby
138
+ source_code_uri: https://github.com/lutaml/taurus-ruby
139
+ changelog_uri: https://github.com/lutaml/taurus-ruby/blob/main/CHANGELOG.md
140
+ rdoc_options: []
141
+ require_paths:
142
+ - lib
143
+ required_ruby_version: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: 3.0.0
148
+ required_rubygems_version: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ requirements: []
154
+ rubygems_version: 4.0.16
155
+ specification_version: 4
156
+ summary: Nokogiri-compatible Ruby binding for libtaurus (XML 1.0, XPath 1.0, SAX)
157
+ test_files: []