fast_toml 0.2.0 → 0.3.0

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: 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: []