tomlrb 1.2.7 → 1.2.8

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: ab9d9abc1066720c536800a9ce163d4b9fbea36d45c54e3baf58d8c696f4f525
4
- data.tar.gz: 17063b96f6cc0dcf2b0afb2a320bb0b8f47a351d8eea701a56606ac50021ff1c
3
+ metadata.gz: ed6d567784a3cc9c807a7a0f8fd598df93c61a1814ffb6b332de00f0fb283834
4
+ data.tar.gz: 750ee2900fc4f8cc4d90943e088888ceb7aafcbff5c59ace2b57672e190213e2
5
5
  SHA512:
6
- metadata.gz: b3152a4f20f0bd1e01c22a2d07d0651f259f7b2590e23cab00a1711f361c0954a7895b55b56641d671ca5272d1830e4b47240b9cae1ca98f5c8358bd408db255
7
- data.tar.gz: ef4663e12a42e04b205bd383da8c137ed07b69685c7862eac3fc5204b59b19f7e23778e1a1d4f210c8fc3f297dd15817640750068619317b6f4d95d5712c5038
6
+ metadata.gz: 0331f20dcfbecaa645c1895febe1459e516592ca25ce27e2f4c85b42933f7041e4ae455a5a0e8581f3893ffb0d23995df549cc2fbbc942615ba0481807673f73
7
+ data.tar.gz: ec8e6d286acb1cd62c2b336d9fdb6c0cc169c4acd76c9ac2e7e14501ce7a668db4b073c0d9d474a314c129d760af925df17f40006630f0e568e03143e77a84f9
@@ -10,8 +10,8 @@ module Tomlrb
10
10
  STRING_LITERAL = /(['])(?:\\?.)*?\1/
11
11
  STRING_LITERAL_MULTI = /'{3}([\s\S]*?'{3})/m
12
12
  DATETIME = /(-?\d{4})-(\d{2})-(\d{2})(?:(?:t|\s)(\d{2}):(\d{2}):(\d{2}(?:\.\d+)?))?(z|[-+]\d{2}:\d{2})?/i
13
- FLOAT = /[+-]?(?:[0-9_]+\.[0-9_]*|\.[0-9_]+|\d+(?=[eE]))(?:[eE][+-]?[0-9_]+)?/
14
- INTEGER = /[+-]?\d(_?\d)*(?![A-Za-z0-9_-]+)/
13
+ FLOAT = /[+-]?(?:[0-9_]+\.[0-9_]*|\d+(?=[eE]))(?:[eE][+-]?[0-9_]+)?/
14
+ INTEGER = /[+-]?([1-9](_?\d)*|0)(?![A-Za-z0-9_-]+)/
15
15
  TRUE = /true/
16
16
  FALSE = /false/
17
17
 
@@ -1,3 +1,3 @@
1
1
  module Tomlrb
2
- VERSION = "1.2.7"
2
+ VERSION = "1.2.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tomlrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.7
4
+ version: 1.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francois Bernier
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-12 00:00:00.000000000 Z
11
+ date: 2018-12-21 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A racc based toml parser
14
14
  email:
@@ -17,16 +17,7 @@ executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
- - ".gitignore"
21
- - ".travis.yml"
22
- - CHANGELOG.md
23
- - Gemfile
24
20
  - LICENSE.txt
25
- - README.md
26
- - Rakefile
27
- - benchmarks/bench.rb
28
- - bin/console
29
- - bin/setup
30
21
  - lib/tomlrb.rb
31
22
  - lib/tomlrb/generated_parser.rb
32
23
  - lib/tomlrb/handler.rb
@@ -35,7 +26,6 @@ files:
35
26
  - lib/tomlrb/scanner.rb
36
27
  - lib/tomlrb/string_utils.rb
37
28
  - lib/tomlrb/version.rb
38
- - tomlrb.gemspec
39
29
  homepage: https://github.com/fbernier/tomlrb
40
30
  licenses:
41
31
  - MIT
@@ -55,8 +45,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
55
45
  - !ruby/object:Gem::Version
56
46
  version: '0'
57
47
  requirements: []
58
- rubyforge_project:
59
- rubygems_version: 2.7.6
48
+ rubygems_version: 3.0.0
60
49
  signing_key:
61
50
  specification_version: 4
62
51
  summary: A racc based toml parser
data/.gitignore DELETED
@@ -1,9 +0,0 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
@@ -1,5 +0,0 @@
1
- language: ruby
2
- before_install:
3
- - gem install bundler
4
- rvm:
5
- - 2.2.1
@@ -1,12 +0,0 @@
1
- ### 1.2.7 - 2018-07-12
2
-
3
- * Datetime should be UTC when no offset or timezone are specified
4
-
5
- ### 1.2.6 - 2017-10-23
6
-
7
- * Fix issue where an unclosed table could make the parsing loop infinitely.
8
- * Proper string escaping
9
-
10
- ### 1.1.3 - 2015-11-24
11
-
12
- * Bare integers can be used as keys as per the spec
data/Gemfile DELETED
@@ -1,13 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- group :development do
4
- gem "bundler"
5
- gem "rake"
6
- gem "byebug"
7
- gem "racc"
8
- gem "minitest"
9
- gem "minitest-reporters"
10
- gem "benchmark-ips"
11
- end
12
-
13
- gemspec
data/README.md DELETED
@@ -1,80 +0,0 @@
1
- # Tomlrb
2
-
3
- [![Code Climate](https://codeclimate.com/github/fbernier/tomlrb/badges/gpa.svg)](https://codeclimate.com/github/fbernier/tomlrb) [![Build Status](https://travis-ci.org/fbernier/tomlrb.svg)](https://travis-ci.org/fbernier/tomlrb) [![Gem Version](https://badge.fury.io/rb/tomlrb.svg)](http://badge.fury.io/rb/tomlrb)
4
-
5
- A Racc based [TOML](https://github.com/toml-lang/toml) Ruby parser supporting the 0.4.0 version of the spec.
6
-
7
-
8
- ## TODO
9
-
10
- * Better tests
11
- * Dumper
12
-
13
- ## Installation
14
-
15
- Add this line to your application's Gemfile:
16
-
17
- ```ruby
18
- gem 'tomlrb'
19
- ```
20
-
21
- And then execute:
22
-
23
- $ bundle
24
-
25
- Or install it yourself as:
26
-
27
- $ gem install tomlrb
28
-
29
- ## Usage
30
-
31
- ```ruby
32
- Tomlrb.parse("[toml]\na = [\"array\", 123]")
33
- ```
34
-
35
- or
36
-
37
- ```ruby
38
- Tomlrb.load_file('my_file', symbolize_keys: true)
39
- ```
40
-
41
- ## Benchmark
42
-
43
- You can run the benchmark against the only other v0.4.0 compliant parser to my knowledge with `ruby benchmarks/bench.rb`.
44
-
45
- Here are the results on my machine:
46
-
47
- ```
48
- Warming up --------------------------------------
49
- emancu/toml-rb 1.000 i/100ms
50
- fbernier/tomlrb 65.000 i/100ms
51
- Calculating -------------------------------------
52
- emancu/toml-rb 19.199 (± 5.2%) i/s - 96.000 in 5.034377s
53
- fbernier/tomlrb 653.650 (± 4.0%) i/s - 3.315k in 5.081117s
54
-
55
- Comparison:
56
- fbernier/tomlrb: 653.6 i/s
57
- emancu/toml-rb: 19.2 i/s - 34.05x slower
58
- ```
59
-
60
- ## Development
61
-
62
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
63
-
64
- Do not forget to regenerate the parser when you modify rules in the `parser.y` file using `rake compile`.
65
-
66
- Run the tests using `rake test`.
67
-
68
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
69
-
70
- ## Contributing
71
-
72
- 1. Fork it ( https://github.com/[my-github-username]/tomlrb/fork )
73
- 2. Create your feature branch (`git checkout -b my-new-feature`)
74
- 3. Commit your changes (`git commit -am 'Add some feature'`)
75
- 4. Push to the branch (`git push origin my-new-feature`)
76
- 5. Create a new Pull Request
77
-
78
- ## Thanks
79
-
80
- Thanks to [@jpbougie](https://github.com/jpbougie) for the crash course on the Chomsky hierarchy and general tips.
data/Rakefile DELETED
@@ -1,14 +0,0 @@
1
- require "bundler/gem_tasks"
2
- require 'rake/testtask'
3
-
4
- Rake::TestTask.new do |t|
5
- t.libs << "test"
6
- t.test_files = FileList['test/test*.rb']
7
- t.verbose = true
8
- end
9
-
10
- task default: [:test]
11
-
12
- task :compile do
13
- sh 'racc lib/tomlrb/parser.y -o lib/tomlrb/generated_parser.rb'
14
- end
@@ -1,22 +0,0 @@
1
- require 'benchmark/ips'
2
- require_relative '../lib/tomlrb'
3
- begin
4
- require 'toml-rb'
5
- rescue LoadError
6
- puts "Install toml-rb using 'gem install toml-rb' first."
7
- end
8
-
9
- data = File.read(File.join(__dir__, '../test/example-v0.4.0.toml'))
10
-
11
- Benchmark.ips do |x|
12
-
13
- x.report("emancu/toml-rb") do
14
- TomlRB.parse(data)
15
- end
16
-
17
- x.report("fbernier/tomlrb") do
18
- Tomlrb.parse(data)
19
- end
20
-
21
- x.compare!
22
- end
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "tomlrb"
5
-
6
- # You can add fixtures and/or initialization code here to make experimenting
7
- # with your gem easier. You can also use a different console, if you like.
8
-
9
- # (If you use this, don't forget to add pry to your Gemfile!)
10
- require "byebug"
data/bin/setup DELETED
@@ -1,6 +0,0 @@
1
- #!/bin/bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
-
5
- bundle install
6
- rake compile
@@ -1,22 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'tomlrb/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "tomlrb"
8
- spec.version = Tomlrb::VERSION
9
- spec.authors = ["Francois Bernier"]
10
- spec.email = ["frankbernier@gmail.com"]
11
-
12
- spec.summary = %q{A racc based toml parser}
13
- spec.description = %q{A racc based toml parser}
14
- spec.homepage = "https://github.com/fbernier/tomlrb"
15
- spec.license = "MIT"
16
-
17
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
- spec.bindir = "exe"
19
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
- spec.require_paths = ["lib"]
21
- spec.required_ruby_version = '>= 2.0'
22
- end