fast_toml 0.2.0 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 616692a1fefe1c2178c4d4ba29db13c4c2b3484166ae3475310db498add0203b
4
- data.tar.gz: a725e8b5df519f2dc6fdfd77db3a237307759a20ddadf65026fa2114957a2a5b
3
+ metadata.gz: 9ce6b2fdd996e28537c28dbaeab6bcb03c678590ab33323308e91d6f5b1d87ca
4
+ data.tar.gz: 1ae0fb254b3bfe3ccaacb58317a9a97034328e50ab4ea50f8a68409705f3de0e
5
5
  SHA512:
6
- metadata.gz: 7266287ffa1e96f18e6dfd05d18ecae87c7a02da9523a7987788e0febb1489fb82930eee85c0103ee2d30682cc477bbfcf57a684985b730c843dfc7f5a92e885
7
- data.tar.gz: 8fcee57de56013d86de3ff09013eb43e0a2abea7b672a51252ee6d67f70517729409e85db6ec70a49b79fa3ffa2ffb1b16767184eecc44bbf87c65090300f120
6
+ metadata.gz: b54db7122904b9c138ac7a9651c5d94edd852ce84a02c2450e0c90181d1f2f537a402feea5f657aabdb6aad79567591a3d01525df4120f165d23bcae43b87be5
7
+ data.tar.gz: a971b475d7968d130af93b33625b6dddb3fd4f38b648d2c98ea237af7558f1929565051342f4401d33301002057b2f930ba08012a55ce8745de25d77fd92437e
data/Cargo.lock CHANGED
@@ -77,9 +77,11 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
77
77
 
78
78
  [[package]]
79
79
  name = "fast_toml"
80
- version = "0.2.0"
80
+ version = "0.3.0"
81
81
  dependencies = [
82
82
  "magnus",
83
+ "rb-sys",
84
+ "rb-sys-env",
83
85
  "toml",
84
86
  ]
85
87
 
@@ -330,9 +332,9 @@ dependencies = [
330
332
 
331
333
  [[package]]
332
334
  name = "toml"
333
- version = "0.8.13"
335
+ version = "0.8.14"
334
336
  source = "registry+https://github.com/rust-lang/crates.io-index"
335
- checksum = "a4e43f8cc456c9704c851ae29c67e17ef65d2c30017c17a9765b89c382dc8bba"
337
+ checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335"
336
338
  dependencies = [
337
339
  "serde",
338
340
  "serde_spanned",
@@ -351,9 +353,9 @@ dependencies = [
351
353
 
352
354
  [[package]]
353
355
  name = "toml_edit"
354
- version = "0.22.13"
356
+ version = "0.22.14"
355
357
  source = "registry+https://github.com/rust-lang/crates.io-index"
356
- checksum = "c127785850e8c20836d49732ae6abfa47616e60bf9d9f57c43c250361a9db96c"
358
+ checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38"
357
359
  dependencies = [
358
360
  "indexmap",
359
361
  "serde",
@@ -434,9 +436,9 @@ checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
434
436
 
435
437
  [[package]]
436
438
  name = "winnow"
437
- version = "0.6.9"
439
+ version = "0.6.13"
438
440
  source = "registry+https://github.com/rust-lang/crates.io-index"
439
- checksum = "86c949fede1d13936a99f14fafd3e76fd642b556dd2ce96287fbe2e0151bfac6"
441
+ checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1"
440
442
  dependencies = [
441
443
  "memchr",
442
444
  ]
data/Rakefile CHANGED
@@ -6,7 +6,6 @@ require 'bundler/gem_tasks'
6
6
  require 'minitest/test_task'
7
7
  require 'rubocop/rake_task'
8
8
  require 'rb_sys/extensiontask'
9
- require 'lib/fast_toml'
10
9
 
11
10
  Minitest::TestTask.create
12
11
 
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "fast_toml"
3
- version = "0.2.0"
3
+ version = "0.3.0"
4
4
  edition = "2021"
5
5
  authors = ["Guilherme Carreiro <karreiro@gmail.com>"]
6
6
  license = "MIT"
@@ -12,3 +12,19 @@ crate-type = ["cdylib"]
12
12
  [dependencies]
13
13
  magnus = "0.6.4"
14
14
  toml = "0.8.13"
15
+ rb-sys = { version = "0.9.85", features = [
16
+ "bindgen-rbimpls",
17
+ "bindgen-deprecated-types",
18
+ "stable-api-compiled-fallback",
19
+ ] }
20
+
21
+ [dev-dependencies]
22
+ rb-sys = { version = "0.9.85", features = [
23
+ "link-ruby",
24
+ "bindgen-rbimpls",
25
+ "bindgen-deprecated-types",
26
+ "stable-api-compiled-fallback",
27
+ ] }
28
+
29
+ [build-dependencies]
30
+ rb-sys-env = { version = "0.1.2" }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FastToml
4
- VERSION = '0.2.0'
4
+ VERSION = '0.3.0'
5
5
  end
data/lib/fast_toml.rb CHANGED
@@ -1,7 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'fast_toml/version'
4
- require_relative 'fast_toml/fast_toml'
4
+
5
+ begin
6
+ RUBY_VERSION =~ /(\d+\.\d+)/
7
+ require_relative "fast_toml/#{Regexp.last_match(1)}/fast_toml"
8
+ rescue LoadError
9
+ require_relative 'fast_toml/fast_toml'
10
+ end
5
11
 
6
12
  module FastToml
7
13
  class Error < StandardError; end
@@ -26,7 +26,7 @@ TOML
26
26
 
27
27
  namespace :benchmark do
28
28
  desc 'Benchmark different TOML parsers (ips)'
29
- task :ips do
29
+ task ips: :env do
30
30
  Benchmark.ips do |x|
31
31
  x.report('fast_toml') { FastToml.parse(TOML_INPUT) }
32
32
  x.report('toml') { TOML::Parser.new(TOML_INPUT).parsed }
@@ -39,7 +39,7 @@ namespace :benchmark do
39
39
  end
40
40
 
41
41
  desc 'Benchmark different TOML parsers (ms)'
42
- task :ms do
42
+ task ms: :env do
43
43
  n = 5_000
44
44
 
45
45
  Benchmark.bm(20) do |x|
data/rakelib/env.rake ADDED
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ desc 'Initialize fast_json environment'
4
+ task :env do
5
+ require 'lib/fast_toml'
6
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fast_toml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guilherme Carreiro
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-03 00:00:00.000000000 Z
11
+ date: 2024-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rb_sys
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.9.97
19
+ version: 0.9.85
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.9.97
26
+ version: 0.9.85
27
27
  description: A fast TOML parser.
28
28
  email:
29
29
  - karreiro@gmail.com
@@ -45,6 +45,7 @@ files:
45
45
  - lib/fast_toml.rb
46
46
  - lib/fast_toml/version.rb
47
47
  - rakelib/benchmark.rake
48
+ - rakelib/env.rake
48
49
  homepage: https://github.com/karreiro/fast_toml
49
50
  licenses:
50
51
  - MIT
@@ -54,7 +55,7 @@ metadata:
54
55
  homepage_uri: https://github.com/karreiro/fast_toml
55
56
  source_code_uri: https://github.com/karreiro/fast_toml
56
57
  rubygems_mfa_required: 'true'
57
- post_install_message:
58
+ post_install_message:
58
59
  rdoc_options: []
59
60
  require_paths:
60
61
  - lib
@@ -69,8 +70,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
69
70
  - !ruby/object:Gem::Version
70
71
  version: 3.3.11
71
72
  requirements: []
72
- rubygems_version: 3.5.10
73
- signing_key:
73
+ rubygems_version: 3.5.9
74
+ signing_key:
74
75
  specification_version: 4
75
76
  summary: A fast TOML parser.
76
77
  test_files: []