xml2json-rb 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7300901db2b5b148d589efdc043ba16afe065c4848300ae4fe13606e372c9e8f
4
- data.tar.gz: bcfa9f9a7017c4d5c62f538b1abe07bd4c996d8a650e412798d43e7c18871e15
3
+ metadata.gz: 929c9024b54d50ca7dc4d457c75cd69ddb02d0f4394d25eb2d3b6c5e8573fd25
4
+ data.tar.gz: 6e80dac62fb5f67fa6f19641cd0c0a62c91110d190a4ec38e6a461d166d3074b
5
5
  SHA512:
6
- metadata.gz: 2719f4a3cc080a3b26c1c2e4e06fb351af1f6a71d882f2a192171a55b63caf66c4d2b143744239ea6842ef6cecfa00b4d0b45065660264d012dd281f716efe9b
7
- data.tar.gz: 973a6c931eba9a847bcb48be1834e6c63a5c6f64538d199380b7405e4ca64d3ad316a4041490db7bf59623e24f299335ee68697f9ea304ab9f245b490eff1029
6
+ metadata.gz: dcd614a2cbfd953cc2ae8adcf123a1723a0143f2754ca0ff3e42509cb385b283794d8090bd5808ed117c8e0e6f65bc630791052941848e2f46cb626e26599593
7
+ data.tar.gz: 28e43cbfaaa8987a1f7fbb1ef348055e742886dc3b629874c0f04d67bd74789751dc1e288d93358ee4c8e0b0fe7a2a6fa0c88393cc426dfe7731c0056e146383
data/Cargo.lock CHANGED
@@ -13,9 +13,9 @@ dependencies = [
13
13
 
14
14
  [[package]]
15
15
  name = "bindgen"
16
- version = "0.62.0"
16
+ version = "0.66.1"
17
17
  source = "registry+https://github.com/rust-lang/crates.io-index"
18
- checksum = "c6720a8b7b2d39dd533285ed438d458f65b31b5c257e6ac7bb3d7e82844dd722"
18
+ checksum = "f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7"
19
19
  dependencies = [
20
20
  "bitflags",
21
21
  "cexpr",
@@ -28,14 +28,14 @@ dependencies = [
28
28
  "regex",
29
29
  "rustc-hash",
30
30
  "shlex",
31
- "syn",
31
+ "syn 2.0.32",
32
32
  ]
33
33
 
34
34
  [[package]]
35
35
  name = "bitflags"
36
- version = "1.3.2"
36
+ version = "2.4.1"
37
37
  source = "registry+https://github.com/rust-lang/crates.io-index"
38
- checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
38
+ checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
39
39
 
40
40
  [[package]]
41
41
  name = "cexpr"
@@ -127,9 +127,9 @@ dependencies = [
127
127
 
128
128
  [[package]]
129
129
  name = "magnus"
130
- version = "0.4.4"
130
+ version = "0.5.5"
131
131
  source = "registry+https://github.com/rust-lang/crates.io-index"
132
- checksum = "fc87660cd7daa49fddbfd524c836de54d5c927d520cd163f43700c5087c57d6c"
132
+ checksum = "5b7a37670bc433d081ef5846d5589381fabd8d3410ad3b59faa6b1b4c9c3cbce"
133
133
  dependencies = [
134
134
  "magnus-macros",
135
135
  "rb-sys",
@@ -138,13 +138,13 @@ dependencies = [
138
138
 
139
139
  [[package]]
140
140
  name = "magnus-macros"
141
- version = "0.3.0"
141
+ version = "0.4.1"
142
142
  source = "registry+https://github.com/rust-lang/crates.io-index"
143
- checksum = "206cb23bfeea05180c97522ef6a3e52a4eb17b0ed2f30ee3ca9c4f994d2378ae"
143
+ checksum = "6cc17af1d45442c011aa579d727ec6cff8a69aea8a6bbad26736e7112d749bfb"
144
144
  dependencies = [
145
145
  "proc-macro2",
146
146
  "quote",
147
- "syn",
147
+ "syn 1.0.109",
148
148
  ]
149
149
 
150
150
  [[package]]
@@ -204,18 +204,18 @@ dependencies = [
204
204
 
205
205
  [[package]]
206
206
  name = "rb-sys"
207
- version = "0.9.79"
207
+ version = "0.9.82"
208
208
  source = "registry+https://github.com/rust-lang/crates.io-index"
209
- checksum = "939fb78db3e4f26665c1d4c7b91ca66d3578335a19aba552d4a6445811d07072"
209
+ checksum = "a3e6bf79bf4c711917cacfaf46dfab4314dbfdd89a8ee3ec4b98336cd23f1ebf"
210
210
  dependencies = [
211
211
  "rb-sys-build",
212
212
  ]
213
213
 
214
214
  [[package]]
215
215
  name = "rb-sys-build"
216
- version = "0.9.79"
216
+ version = "0.9.82"
217
217
  source = "registry+https://github.com/rust-lang/crates.io-index"
218
- checksum = "335a95eb0420d52fa94ef12019df3c2c250c6b19cbb3c60bd05cb7e9c362072c"
218
+ checksum = "5482a1ed4cde58dddaf162b6aebcb5c25645822547832b8be101f2acd40bcdd6"
219
219
  dependencies = [
220
220
  "bindgen",
221
221
  "lazy_static",
@@ -223,7 +223,7 @@ dependencies = [
223
223
  "quote",
224
224
  "regex",
225
225
  "shell-words",
226
- "syn",
226
+ "syn 2.0.32",
227
227
  ]
228
228
 
229
229
  [[package]]
@@ -314,6 +314,17 @@ dependencies = [
314
314
  "unicode-ident",
315
315
  ]
316
316
 
317
+ [[package]]
318
+ name = "syn"
319
+ version = "2.0.32"
320
+ source = "registry+https://github.com/rust-lang/crates.io-index"
321
+ checksum = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2"
322
+ dependencies = [
323
+ "proc-macro2",
324
+ "quote",
325
+ "unicode-ident",
326
+ ]
327
+
317
328
  [[package]]
318
329
  name = "unicode-ident"
319
330
  version = "1.0.10"
@@ -344,9 +355,10 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
344
355
 
345
356
  [[package]]
346
357
  name = "xml2json"
347
- version = "0.3.0"
358
+ version = "0.3.1"
348
359
  dependencies = [
349
360
  "magnus",
361
+ "rb-sys",
350
362
  "xml2json-rs",
351
363
  ]
352
364
 
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "xml2json"
3
- version = "0.3.0"
3
+ version = "0.3.1"
4
4
  edition = "2021"
5
5
  authors = ["uvlad7 <uvlad7@gmail.com>"]
6
6
  license = "MIT"
@@ -10,5 +10,8 @@ publish = false
10
10
  crate-type = ["cdylib"]
11
11
 
12
12
  [dependencies]
13
- magnus = { version = "0.4" }
13
+ magnus = { version = "0.5.5", features = ["rb-sys-interop"] }
14
+ rb-sys = { version = "*", default-features = false, features = [
15
+ "stable-api-compiled-fallback",
16
+ ] }
14
17
  xml2json-rs = "1.0.1"
@@ -2,16 +2,12 @@ use magnus::{define_module, function, prelude::*, Error, Value};
2
2
  use magnus::scan_args::{scan_args};
3
3
  use xml2json_rs::{XmlBuilder, JsonBuilder, JsonConfig, XmlConfig, Declaration, Version, Encoding, Indentation};
4
4
 
5
- // fn hello(subject: String) -> String {
6
- // format!("Hello from Rust, {}!", subject)
7
- // }
8
-
9
5
  #[macro_export]
10
6
  macro_rules! set_arg {
11
7
  ($config:expr, $opts_hash:expr, $arg:ident, $arg_type:ident) => (
12
8
  let arg_value = $opts_hash.lookup::<_, Option<$arg_type>>(magnus::Symbol::new(stringify!($arg)))?;
13
- if arg_value.is_some() {
14
- $config.$arg(arg_value.unwrap());
9
+ if let Some(value) = arg_value {
10
+ $config.$arg(value);
15
11
  }
16
12
  );
17
13
  }
@@ -29,15 +25,13 @@ fn build_pretty_xml(args: &[Value]) -> Result<String, Error> {
29
25
  }
30
26
 
31
27
  fn build_xml_impl(args: &[Value], build_pretty: bool) -> Result<String, Error> {
32
- let args = scan_args::<_, _, (), (), _, ()>(args)?;
28
+ let args = scan_args::<_, _, (), (), (), ()>(args)?;
33
29
  let (json_s, ): (String, ) = args.required;
34
30
  let (opts, ): (Option<magnus::RHash>, ) = args.optional;
35
- let _: () = args.keywords;
36
31
 
37
32
  let mut xml_builder: XmlBuilder;
38
- if opts.is_some() { // yep, even if it's an empty hash
33
+ if let Some(opts_hash) = opts { // yep, even if it's an empty hash
39
34
  // println!("{}", opts.unwrap().to_string());
40
- let opts_hash = opts.unwrap();
41
35
  let mut config = XmlConfig::new();
42
36
  set_arg!(config, opts_hash, root_name, String);
43
37
  set_arg!(config, opts_hash, attrkey, String);
@@ -51,18 +45,16 @@ fn build_xml_impl(args: &[Value], build_pretty: bool) -> Result<String, Error> {
51
45
  || decl_standalone.is_some()
52
46
  { // something is specified
53
47
  // I didn't find a way to get defaults without copying them
54
- let decl_version_val;
55
- if decl_version.is_some() {
48
+ let decl_version_val = if decl_version.is_some() {
56
49
  let decl_version_str = unsafe { decl_version.unwrap().to_s() }?.into_owned();
57
- decl_version_val = Version::try_from(decl_version_str.as_str())
58
- .map_err(map_xml2json_err)?;
59
- } else { decl_version_val = Version::XML10; }
60
- let decl_encoding_val;
61
- if decl_encoding.is_some() {
50
+ Version::try_from(decl_version_str.as_str())
51
+ .map_err(map_xml2json_err)?
52
+ } else { Version::XML10 };
53
+ let decl_encoding_val = if decl_encoding.is_some() {
62
54
  let decl_encoding_str = unsafe { decl_encoding.unwrap().to_s() }?.into_owned();
63
- decl_encoding_val = Some(Encoding::try_from(decl_encoding_str.as_str())
64
- .map_err(map_xml2json_err)?);
65
- } else { decl_encoding_val = None; }
55
+ Some(Encoding::try_from(decl_encoding_str.as_str())
56
+ .map_err(map_xml2json_err)?)
57
+ } else { None };
66
58
 
67
59
  let decl = Declaration::new(
68
60
  decl_version_val,
@@ -79,10 +71,9 @@ fn build_xml_impl(args: &[Value], build_pretty: bool) -> Result<String, Error> {
79
71
  if indent_char.is_some()
80
72
  || indent_size.is_some()
81
73
  {
82
- let indent_char_val: u8;
83
- if indent_char.is_some() {
84
- indent_char_val = u8::try_from(indent_char.unwrap()).map_err(|error| Error::new(magnus::exception::type_error(), error.to_string()))?;
85
- } else { indent_char_val = b' '; }
74
+ let indent_char_val: u8 = if indent_char.is_some() {
75
+ u8::try_from(indent_char.unwrap()).map_err(|error| Error::new(magnus::exception::type_error(), error.to_string()))?
76
+ } else { b' ' };
86
77
  config.rendering(Indentation::new(
87
78
  indent_char_val,
88
79
  indent_size.unwrap_or(2),
@@ -97,8 +88,8 @@ fn build_xml_impl(args: &[Value], build_pretty: bool) -> Result<String, Error> {
97
88
  xml_builder = XmlConfig::new().rendering(Indentation::default()).finalize();
98
89
  } else { xml_builder = XmlBuilder::default(); }
99
90
 
100
- xml_builder.build_from_json_string(&json_s).or_else(|error| {
101
- Err(map_xml2json_err(error))
91
+ xml_builder.build_from_json_string(&json_s).map_err(|error| {
92
+ map_xml2json_err(error)
102
93
  })
103
94
  }
104
95
 
@@ -112,70 +103,12 @@ fn build_pretty_json(args: &[Value]) -> Result<String, Error> {
112
103
 
113
104
  fn build_json_impl(args: &[Value], mut build_pretty: bool) -> Result<String, Error> {
114
105
  // https://docs.rs/magnus/latest/magnus/scan_args/fn.scan_args.html
115
- let args = scan_args::<_, _, (), (), _, ()>(args)?;
106
+ let args = scan_args::<_, _, (), (), (), ()>(args)?;
116
107
  let (xml, ): (String, ) = args.required;
117
108
  let (opts, ): (Option<magnus::RHash>, ) = args.optional;
118
- // let _: () = args.optional;
119
- let _: () = args.keywords;
120
-
121
- // Impossible, too long
122
- // let kw = get_kwargs::<_, (), (
123
- // Option<String>, // charkey
124
- // Option<String>, // attrkey
125
- // Option<String>, // empty_tag
126
- // Option<bool>, // explicit_root
127
- // Option<bool>, // trim
128
- // Option<bool>, // ignore_attrs
129
- // Option<bool>, // merge_attrs
130
- // Option<bool>, // normalize_text
131
- // Option<bool>, // lowercase_tags
132
- // Option<bool>, // explicit_array
133
- // Option<bool>, // explicit_charkey
134
- // ), ()>(args.keywords, &[], &[
135
- // "charkey",
136
- // "attrkey",
137
- // "empty_tag",
138
- // "explicit_root",
139
- // "trim",
140
- // "ignore_attrs",
141
- // "merge_attrs",
142
- // "normalize_text",
143
- // "lowercase_tags",
144
- // "explicit_array",
145
- // "explicit_charkey",
146
- // ])?;
147
- // let (
148
- // charkey,
149
- // attrkey,
150
- // empty_tag,
151
- // explicit_root,
152
- // trim,
153
- // ignore_attrs,
154
- // merge_attrs,
155
- // normalize_text,
156
- // lowercase_tags,
157
- // explicit_array,
158
- // explicit_charkey,
159
- // ) = kw.optional;
160
- // if charkey.is_some()
161
- // || attrkey.is_some()
162
- // || empty_tag.is_some()
163
- // || explicit_root.is_some()
164
- // || trim.is_some()
165
- // || ignore_attrs.is_some()
166
- // || merge_attrs.is_some()
167
- // || normalize_text.is_some()
168
- // || lowercase_tags.is_some()
169
- // || explicit_array.is_some()
170
- // || explicit_charkey.is_some()
171
- // {
172
- // println!("any")
173
- // } else { println!("none") }
174
109
 
175
110
  let json_builder: JsonBuilder;
176
- if opts.is_some() { // yep, even if it's an empty hash
177
- // println!("{}", opts.unwrap().to_string());
178
- let opts_hash = opts.unwrap();
111
+ if let Some(opts_hash) = opts { // yep, even if it's an empty hash
179
112
  let mut config = JsonConfig::new();
180
113
  set_arg!(config, opts_hash, charkey, String);
181
114
  set_arg!(config, opts_hash, attrkey, String);
@@ -191,8 +124,8 @@ fn build_json_impl(args: &[Value], mut build_pretty: bool) -> Result<String, Err
191
124
  json_builder = config.finalize();
192
125
 
193
126
  let indent = opts_hash.lookup::<_, Option<bool>>(magnus::Symbol::new("indent"))?;
194
- if indent.is_some() {
195
- build_pretty = indent.unwrap();
127
+ if let Some(indent_value) = indent {
128
+ build_pretty = indent_value;
196
129
  }
197
130
  } else { json_builder = JsonBuilder::default(); }
198
131
 
@@ -200,16 +133,14 @@ fn build_json_impl(args: &[Value], mut build_pretty: bool) -> Result<String, Err
200
133
  json_builder.build_pretty_string_from_xml(&xml)
201
134
  } else {
202
135
  json_builder.build_string_from_xml(&xml)
203
- }.or_else(|error| {
204
- Err(map_xml2json_err(error))
136
+ }.map_err(|error| {
137
+ map_xml2json_err(error)
205
138
  })
206
139
  }
207
140
 
208
141
  #[magnus::init]
209
142
  fn init() -> Result<(), Error> {
210
143
  let module = define_module("Xml2Json")?;
211
- // module.define_singleton_method("hello", function!(hello, 1))?;
212
- // It's not possible to wrap XmlBuilder
213
144
  let xml = module.define_module("Xml")?;
214
145
  let xml_version = xml.define_module("Version")?;
215
146
  xml_version.const_set("XML10", Version::XML10.to_string())?;
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Xml2Json
4
- VERSION = "0.3.0"
4
+ VERSION = "0.3.1"
5
5
  end
data/lib/xml2json.rb CHANGED
@@ -1,9 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "xml2json/version"
4
- require_relative "xml2json/xml2json"
4
+ begin
5
+ require_relative "xml2json/#{RUBY_VERSION[/(\d+\.\d+)/, 1]}/xml2json"
6
+ rescue LoadError
7
+ require_relative "xml2json/xml2json"
8
+ end
5
9
 
6
- # @see https://github.com/novcn/xml2json-rs docs for the wrapped library
10
+ # @see https://docs.rs/xml2json-rs/1.0.1/xml2json_rs/index.html docs for the wrapped library
7
11
  module Xml2Json
8
12
  # @!parse [ruby]
9
13
  # module Xml
@@ -17,20 +21,66 @@ module Xml2Json
17
21
  #
18
22
  # # @param json_s [String, #to_str] JSON string
19
23
  # # @param opts [Hash<Symbol, Object>] config params
20
- # # @see https://docs.rs/xml2json-rs/1.0.1/xml2json_rs/struct.XmlConfig.html rust doc
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+
21
45
  # # @return [String] XML string
22
- # # @raise [RuntimeError] if the input string is invalid
46
+ # # @raise [RuntimeError] if +json_s+ is not valid JSON
47
+ # # @raise [TypeError] if +opts+ contain invalid value
23
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
24
52
  # def self.build_pretty(json_s, opts: nil); end
25
53
  # end
26
54
  #
27
55
  # module Json
28
56
  # # @param xml [String, #to_str] XML string
29
57
  # # @param opts [Hash<Symbol, Object>] config params
30
- # # @see https://docs.rs/xml2json-rs/1.0.1/xml2json_rs/struct.JsonConfig.html rust doc
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
31
77
  # # @return [String] JSON string
32
- # # @raise [RuntimeError] if the input string is invalid
78
+ # # @raise [RuntimeError] if +xml+ is not valid XML
79
+ # # @raise [TypeError] if +opts+ contain invalid value
33
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
34
84
  # def self.build_pretty(xml, opts: nil); end
35
85
  # end
36
86
  end
metadata CHANGED
@@ -1,15 +1,183 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xml2json-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - uvlad7
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-10-01 00:00:00.000000000 Z
12
- dependencies: []
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: rb_sys
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.9.63
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.9.63
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.21'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.21'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry
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: pry-byebug
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: yard
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: rack
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: rackup
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: puma
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
+ - !ruby/object:Gem::Dependency
168
+ name: toml-rb
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
13
181
  description: This gem helps to convert xml strings to json and vise versa
14
182
  email:
15
183
  - uvlad7@gmail.com
@@ -25,7 +193,6 @@ files:
25
193
  - ext/xml2json/src/lib.rs
26
194
  - lib/xml2json.rb
27
195
  - lib/xml2json/version.rb
28
- - lib/xml2json/xml2json.so
29
196
  - sig/xml2_json/json.rbs
30
197
  - sig/xml2_json/xml.rbs
31
198
  - sig/xml2_json/xml/encoding.rbs
@@ -38,7 +205,7 @@ metadata:
38
205
  homepage_uri: https://github.com/uvlad7/xml2json-rb
39
206
  source_code_uri: https://github.com/uvlad7/xml2json-rb
40
207
  changelog_uri: https://github.com/uvlad7/xml2json-rb/blob/main/CHANGELOG.md
41
- documentation_uri: https://rubydoc.info/gems/xml2json-rb/0.3.0
208
+ documentation_uri: https://rubydoc.info/gems/xml2json-rb/0.3.1
42
209
  rubygems_mfa_required: 'true'
43
210
  post_install_message:
44
211
  rdoc_options: []
@@ -55,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
55
222
  - !ruby/object:Gem::Version
56
223
  version: 3.3.11
57
224
  requirements: []
58
- rubygems_version: 3.4.10
225
+ rubygems_version: 3.4.20
59
226
  signing_key:
60
227
  specification_version: 4
61
228
  summary: Ruby wrapper for xml2json-rs
Binary file