xml2json-rb 0.3.1-x86_64-darwin

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 928aac4a54012246ce10a189baefa13a3155fd63f38c0b237f577d5b7c56bf69
4
+ data.tar.gz: f00b299257ebe98f6bbaf39125651b3b803f755267d9b3f016be66c50df12eec
5
+ SHA512:
6
+ metadata.gz: 9667cd8b396b30d089a660d84d933967d1aa80ac27de6c7e96ff3549c73fbc01a95e30b71a12d17cbfdec582de4881f2ff7fa39847bd6f70efdbd560d44889aa
7
+ data.tar.gz: 5f785afc7886dae0460f292753059dc0e25b18408931cf5a14fff9dcd43d0d0fa3bdd81281b7237949e978bfcb67ee36aac33eb5a2eda05b7bac96fef2c574ea
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Xml2Json
4
+ VERSION = "0.3.1"
5
+ end
data/lib/xml2json.rb ADDED
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "xml2json/version"
4
+ begin
5
+ require_relative "xml2json/#{RUBY_VERSION[/(\d+\.\d+)/, 1]}/xml2json"
6
+ rescue LoadError
7
+ require_relative "xml2json/xml2json"
8
+ end
9
+
10
+ # @see https://docs.rs/xml2json-rs/1.0.1/xml2json_rs/index.html docs for the wrapped library
11
+ module Xml2Json
12
+ # @!parse [ruby]
13
+ # module Xml
14
+ # module Version
15
+ # XML10 = "1.0"
16
+ # XML11 = "1.1"
17
+ # end
18
+ # module Encoding
19
+ # UTF8 = "UTF-8"
20
+ # end
21
+ #
22
+ # # @param json_s [String, #to_str] JSON string
23
+ # # @param opts [Hash<Symbol, Object>] config params
24
+ # # @note Default values are provided by xml2json-rs
25
+ # # @see https://docs.rs/xml2json-rs/1.0.1/xml2json_rs/struct.XmlConfig.html Docs for xml2json-rs XmlConfig
26
+ # # @option opts [String, #to_str] root_name ("root") Root key name to contain produced JSON object
27
+ # # @option opts [String, #to_str] attrkey ("$") The value of the JSON key used to store XML attributes under
28
+ # # @option opts [String, #to_str] charkey ("_") The value of the JSON key used to store XML character data under
29
+ # # @option opts [nil, "1.0", "1.1", #to_s] version (Xml2Json::Version::XML10) XML Declaration 'version' field,
30
+ # # default if nil
31
+ # # @raise [RuntimeError] if +version.to_s+ returns unsupported string,
32
+ # # for now only +"1.0"+ and +"1.1"+ are supported
33
+ # # @option opts [nil, "UTF-8", #to_s] encoding (nil) XML Declaration 'encoding' field, empty if nil
34
+ # # @raise [RuntimeError] if +encoding.to_s+ returns unsupported string, for now only +"UTF-8"+ is supported
35
+ # # @option opts [bool, nil] standalone (nil) XML Declaration 'standalone' field, empty if nil
36
+ # # @option opts [bool] indent (false) Output XML with line-breaks and indentations
37
+ # # @option opts [String, #to_str] indent_char (" ") Character used for indentation. This option will be ignored
38
+ # # if +indent+ is false
39
+ # # @raise [TypeError] If +indent_char+ is more than one character or can not be encoded as UTF-8
40
+ # # @note It's not enough for the Ruby +indent_char+ string to be UTF-8 encoded, not sure
41
+ # # if that's a bug or a feature of Magnus
42
+ # # @option opts [Integer, #to_int] indent_size (2) Number of characters used for indentation.
43
+ # # This option will be ignored if +indent+ is false
44
+ # # @raise [RangeError] if +indent_size+ cannot be converted into +unsigned long long+
45
+ # # @return [String] XML string
46
+ # # @raise [RuntimeError] if +json_s+ is not valid JSON
47
+ # # @raise [TypeError] if +opts+ contain invalid value
48
+ # def self.build(json_s, opts: nil); end
49
+ # # @option opts [bool] indent (true)
50
+ # # @note Check +Xml2Json::Xml.build+ for other details, the only difference is that +indent+ is true by default
51
+ # # @see .build
52
+ # def self.build_pretty(json_s, opts: nil); end
53
+ # end
54
+ #
55
+ # module Json
56
+ # # @param xml [String, #to_str] XML string
57
+ # # @param opts [Hash<Symbol, Object>] config params
58
+ # # @note Default values are provided by xml2json-rs
59
+ # # @see https://docs.rs/xml2json-rs/1.0.1/xml2json_rs/struct.JsonConfig.html Docs for xml2json-rs JsonConfig
60
+ # # @option opts [String, #to_str] attrkey ("$") Key to outer object containing tag attributes
61
+ # # @option opts [String, #to_str] charkey ("_") Key to store character content under
62
+ # # @option opts [String, #to_str] empty_tag ("") The value of empty nodes
63
+ # # @option opts [bool] indent (false) Output JSON with line-breaks and indentations
64
+ # # @option opts [bool] explicit_root (true) Sets the root node inside the resulting object
65
+ # # @option opts [bool] trim (false) Trim whitespace at the beginning and end of text nodes
66
+ # # @option opts [bool] ignore_attrs (false) Setting this to true will skip adding element attributes
67
+ # # and create text nodes
68
+ # # @option opts [bool] merge_attrs (false) Merge all XML attributes and child elements as properties of
69
+ # # the parent, instead of keying attributes off of the child attribute object. This option will be
70
+ # # ignored if +ignore_attrs+ is true
71
+ # # @option opts [bool] normalize_text (false) Removes whitespace character data in text nodes
72
+ # # @option opts [bool] lowercase_tags (false) Normalize all tags by converting them to lowercase
73
+ # # @option opts [bool] explicit_array (true) Always put the child nodes in an array, otherwise an array is only
74
+ # # created if there is more than one child
75
+ # # @option opts [bool] explicit_charkey (false) Always store character data under +charkey+ even if there are
76
+ # # no other text elements stored inside the tag
77
+ # # @return [String] JSON string
78
+ # # @raise [RuntimeError] if +xml+ is not valid XML
79
+ # # @raise [TypeError] if +opts+ contain invalid value
80
+ # def self.build(xml, opts: nil); end
81
+ # # @option opts [bool] indent (true)
82
+ # # @note Check +Xml2Json::Json.build+ for other details, the only difference is that +indent+ is true by default
83
+ # # @see .build
84
+ # def self.build_pretty(xml, opts: nil); end
85
+ # end
86
+ end
@@ -0,0 +1,6 @@
1
+ module Xml2Json
2
+ module Json
3
+ def self.build: (xml: String, opts: Hash[Symbol, Object]?) -> String
4
+ def self.build_pretty: (xml: String, opts: Hash[Symbol, Object]?) -> String
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ module Xml2Json
2
+ module Xml
3
+ module Encoding
4
+ UTF8: String
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ module Xml2Json
2
+ module Xml
3
+ module Version
4
+ XML10: String
5
+ XML11: String
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,6 @@
1
+ module Xml2Json
2
+ module Xml
3
+ def self.build: (json_s: String, opts: Hash[Symbol, Object]?) -> String
4
+ def self.build_pretty: (json_s: String, opts: Hash[Symbol, Object]?) -> String
5
+ end
6
+ end
data/sig/xml2json.rbs ADDED
@@ -0,0 +1,4 @@
1
+ module Xml2Json
2
+ VERSION: String
3
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
+ end
metadata ADDED
@@ -0,0 +1,217 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: xml2json-rb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.1
5
+ platform: x86_64-darwin
6
+ authors:
7
+ - uvlad7
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2023-10-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '13.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '13.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake-compiler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.21'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.21'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-byebug
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: yard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rack
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rackup
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: puma
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: toml-rb
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ description: This gem helps to convert xml strings to json and vise versa
168
+ email:
169
+ - uvlad7@gmail.com
170
+ executables: []
171
+ extensions: []
172
+ extra_rdoc_files: []
173
+ files:
174
+ - lib/xml2json.rb
175
+ - lib/xml2json/2.6/xml2json.bundle
176
+ - lib/xml2json/2.7/xml2json.bundle
177
+ - lib/xml2json/3.0/xml2json.bundle
178
+ - lib/xml2json/3.1/xml2json.bundle
179
+ - lib/xml2json/3.2/xml2json.bundle
180
+ - lib/xml2json/version.rb
181
+ - sig/xml2_json/json.rbs
182
+ - sig/xml2_json/xml.rbs
183
+ - sig/xml2_json/xml/encoding.rbs
184
+ - sig/xml2_json/xml/version.rbs
185
+ - sig/xml2json.rbs
186
+ homepage: https://github.com/uvlad7/xml2json-rb
187
+ licenses:
188
+ - MIT
189
+ metadata:
190
+ homepage_uri: https://github.com/uvlad7/xml2json-rb
191
+ source_code_uri: https://github.com/uvlad7/xml2json-rb
192
+ changelog_uri: https://github.com/uvlad7/xml2json-rb/blob/main/CHANGELOG.md
193
+ documentation_uri: https://rubydoc.info/gems/xml2json-rb/0.3.1
194
+ rubygems_mfa_required: 'true'
195
+ post_install_message:
196
+ rdoc_options: []
197
+ require_paths:
198
+ - lib
199
+ required_ruby_version: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '2.6'
204
+ - - "<"
205
+ - !ruby/object:Gem::Version
206
+ version: 3.3.dev
207
+ required_rubygems_version: !ruby/object:Gem::Requirement
208
+ requirements:
209
+ - - ">="
210
+ - !ruby/object:Gem::Version
211
+ version: 3.3.11
212
+ requirements: []
213
+ rubygems_version: 3.4.4
214
+ signing_key:
215
+ specification_version: 4
216
+ summary: Ruby wrapper for xml2json-rs
217
+ test_files: []