edn_turbo 0.6.2 → 0.7.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.dir-locals.el +3 -0
- data/CHANGELOG.md +47 -15
- data/LICENSE +1 -1
- data/README.md +4 -2
- data/Rakefile +7 -15
- data/docker/Dockerfile +40 -0
- data/docker/build +11 -0
- data/docker/common.sh +28 -0
- data/docker/console +11 -0
- data/docker/docker-compose.yml +22 -0
- data/docker/entrypoint +3 -0
- data/docker/make-check +8 -0
- data/docker/run +9 -0
- data/ext/edn_turbo/edn_parser.cc +1 -1
- data/ext/edn_turbo/edn_parser.rl +1 -1
- data/ext/edn_turbo/extconf.rb +24 -38
- data/ext/edn_turbo/main.cc +6 -3
- data/ext/edn_turbo/parser.h +1 -1
- data/ext/edn_turbo/parser_def.cc +2 -2
- data/ext/edn_turbo/util.cc +1 -1
- data/ext/edn_turbo/util.h +3 -1
- data/ext/edn_turbo/util_unicode.cc +1 -1
- data/ext/edn_turbo/util_unicode.h +1 -1
- data/lib/edn_turbo/edn_parser.rb +1 -1
- data/lib/edn_turbo/version.rb +5 -3
- data/lib/edn_turbo.rb +7 -1
- metadata +38 -13
- data/Dockerfile +0 -34
- data/bin/build_docker_image.sh +0 -11
- data/bin/console.sh +0 -5
- data/docker-compose.yml +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ef6fae989e30efe46585a8cfe01ae00255e4014ade4a0ac5f36a0d7c1e98511
|
4
|
+
data.tar.gz: fc19904544cc35bfb84e08a2cb5d13e7fc4fc8b6a19117de247cc5d701c25bee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7bbeacf3d1d4e8e75356986bf87a3838d6e40729ea206aab1b55860d693b1e4e0d0bb1b63d2ae5689d3080f9a4dc239beb3aa7b29b9fe191e6d3592dfb3514b
|
7
|
+
data.tar.gz: 1877016ec61e37c41f4aed022444d721406068f062d6210cfd41cfe5d48290889de24f2d1bd5ebe00cd2ad34dd97af4904567644335a45255cb91d79e118e4fc
|
data/.dir-locals.el
ADDED
data/CHANGELOG.md
CHANGED
@@ -1,30 +1,62 @@
|
|
1
1
|
# Change Log
|
2
2
|
All notable changes to this project will be documented in this file. This change log follows the conventions of [keepachangelog.com](http://keepachangelog.com/).
|
3
3
|
|
4
|
-
## 0.
|
4
|
+
## [0.7.3] - 2021-11-06
|
5
|
+
### Changed
|
6
|
+
* Fix by Caleb Land for new homebrew installs to /opt
|
7
|
+
|
8
|
+
## [0.7.2] - 2021-09-20
|
9
|
+
### Changed
|
10
|
+
* allow rake versions > 12
|
11
|
+
|
12
|
+
## [0.7.1] - 2021-02-07
|
13
|
+
### Changed
|
14
|
+
* Set minimum ruby version to 2.5
|
15
|
+
|
16
|
+
### Fixed
|
17
|
+
* Compilation error when building against ruby versions > 2
|
18
|
+
|
19
|
+
## [0.7.0] - 2020-02-07
|
20
|
+
### Added
|
21
|
+
* big_decimal_edn_turbo method to replace calling edn-ruby's
|
22
|
+
big_decimal as it breaks things in ruby 2.7 and up
|
23
|
+
|
24
|
+
### Changed
|
25
|
+
* Removed compiler warning due to scalar wrapped in braces
|
26
|
+
* Updated docker configs to use latest 2.4 and 2.6 ruby
|
27
|
+
versions. Added 2.5 and 2.7 too.
|
28
|
+
|
29
|
+
## [0.6.2] - 2019-05-21
|
5
30
|
### Fixed
|
6
|
-
|
31
|
+
* Handling of ##Inf, ##Nan, et al.
|
7
32
|
|
8
|
-
## 0.6.1 - 2019-05-20
|
33
|
+
## [0.6.1] - 2019-05-20
|
9
34
|
### Added
|
10
|
-
|
35
|
+
* Implement parsing of Ratio literals, represented as a ruby Rational.
|
11
36
|
|
12
37
|
### Fixed
|
13
|
-
|
38
|
+
* Parsing of exact precision types.
|
14
39
|
|
15
40
|
### Changed
|
16
|
-
|
17
|
-
|
41
|
+
* Build lists using EDN::list method that was previously broken.
|
18
42
|
|
19
|
-
## 0.6.0 - 2019-05-13
|
43
|
+
## [0.6.0] - 2019-05-13
|
20
44
|
### Changed
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
45
|
+
* switched from MiniTest to RSpec.
|
46
|
+
* replaced `NULL` with `nullptr`.
|
47
|
+
* replaced old-style casts.
|
48
|
+
* prohibit Parser copy and move ops.
|
49
|
+
* assigning a source that does not respond to `read` now throws
|
26
50
|
`ArgumentError` instead of `RuntimeError`.
|
27
51
|
|
28
52
|
### Added
|
29
|
-
|
30
|
-
|
53
|
+
* initial version of docker configs for testing on Ubuntu.
|
54
|
+
|
55
|
+
[Unreleased]: https://github.com/edporras/edn_turbo/-/compare/0.7.3...main
|
56
|
+
[0.7.3]: https://github.com/edporras/edn_turbo/-/compare/0.7.2...0.7.3
|
57
|
+
[0.7.2]: https://github.com/edporras/edn_turbo/-/compare/0.7.1...0.7.2
|
58
|
+
[0.7.1]: https://github.com/edporras/edn_turbo/-/compare/0.7.0...0.7.1
|
59
|
+
[0.7.0]: https://github.com/edporras/edn_turbo/-/compare/0.6.2...0.7.0
|
60
|
+
[0.6.2]: https://github.com/edporras/edn_turbo/-/compare/0.6.1...0.6.2
|
61
|
+
[0.6.1]: https://github.com/edporras/edn_turbo/-/compare/0.6.0...0.6.1
|
62
|
+
[0.6.0]: https://github.com/edporras/edn_turbo/-/compare/0.5.7...0.6.0
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
edn_turbo 0.
|
1
|
+
edn_turbo 0.7.3
|
2
2
|
===============
|
3
3
|
|
4
4
|
Fast [Ragel](http://www.colm.net/open-source/ragel/)-based EDN parser for Ruby.
|
@@ -34,7 +34,7 @@ irb(main):008:0> Benchmark.realtime { 100000.times { EDN::read(s) } }
|
|
34
34
|
Dependencies
|
35
35
|
============
|
36
36
|
|
37
|
-
Ruby 2.
|
37
|
+
Ruby 2.6 or greater.
|
38
38
|
|
39
39
|
- ruby gems:
|
40
40
|
- [rake](http://rake.rubyforge.org)
|
@@ -112,3 +112,5 @@ calls into the ruby side.
|
|
112
112
|
|
113
113
|
- As of v0.6.2, `edn_turbo` supports representation of `##Inf` as
|
114
114
|
`Float::INFINITY` and `##NaN` as `Float::NAN`.
|
115
|
+
|
116
|
+
- As of v0.7.1, `edn_turbo` requires ruby 2.5 or greater.
|
data/Rakefile
CHANGED
@@ -36,7 +36,7 @@ CLEAN.include(['*.png', '*.gem'])
|
|
36
36
|
# ragel cc source generation
|
37
37
|
task ragel: GEN_CC_PARSER_SRC_PATH
|
38
38
|
file GEN_CC_PARSER_SRC_PATH => RAGEL_PARSER_SRC_PATH do
|
39
|
-
|
39
|
+
Dir.chdir(EXT_PATH) do
|
40
40
|
sh "ragel -G2 -o #{GEN_CC_PARSER_SRC} #{RAGEL_PARSER_SRC}"
|
41
41
|
src = File.read(GEN_CC_PARSER_SRC).gsub(/[ \t]+$/, '')
|
42
42
|
File.open(GEN_CC_PARSER_SRC, 'w') { |f| f.print src }
|
@@ -44,24 +44,16 @@ file GEN_CC_PARSER_SRC_PATH => RAGEL_PARSER_SRC_PATH do
|
|
44
44
|
end
|
45
45
|
|
46
46
|
# graph generation for testing machine output
|
47
|
-
task :graph, [
|
47
|
+
task :graph, %i[machine] do |_t, args|
|
48
48
|
args.with_defaults(machine: 'EDN_value')
|
49
|
-
|
50
|
-
|
49
|
+
tmpfile = '/tmp/ragel_edn'
|
50
|
+
machine = args[:machine]
|
51
51
|
|
52
52
|
# assumes graphviz is installed
|
53
|
-
sh "ragel -Vp -S #{
|
54
|
-
"dot -Tpng #{
|
53
|
+
sh "ragel -Vp -S #{machine} -o #{tmpfile} #{EXT_PATH}/#{RAGEL_PARSER_SRC} && "\
|
54
|
+
"dot -Tpng #{tmpfile} -o #{machine}.png"
|
55
55
|
end
|
56
56
|
|
57
|
-
task build: [
|
58
|
-
|
59
|
-
# add dependency to test task
|
60
|
-
task test: EXT_BUNDLE
|
61
|
-
|
62
|
-
Rake::TestTask.new do |t|
|
63
|
-
t.libs << 'test'
|
64
|
-
t.test_files = FileList['test/test_output_diff.rb']
|
65
|
-
end
|
57
|
+
task build: %i[clean ragel compile chmod]
|
66
58
|
|
67
59
|
task default: :compile
|
data/docker/Dockerfile
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
FROM buildpack-deps:stretch
|
2
|
+
MAINTAINER github@digressed.net
|
3
|
+
ARG ruby_version
|
4
|
+
|
5
|
+
ENV LC_ALL C.UTF-8
|
6
|
+
|
7
|
+
USER root
|
8
|
+
RUN groupadd -r ned -g 1000 && \
|
9
|
+
useradd -u 1000 -r -g ned -m -s /sbin/nologin -c "Docker image user" ned && \
|
10
|
+
mkdir /home/ned/bin && \
|
11
|
+
mkdir /home/ned/src && \
|
12
|
+
chown -R ned:ned /home/ned
|
13
|
+
|
14
|
+
WORKDIR /home/ned/src
|
15
|
+
|
16
|
+
# Update Ubuntu Software repository && update deps
|
17
|
+
RUN apt-get update && \
|
18
|
+
apt-get install -y \
|
19
|
+
libicu-dev \
|
20
|
+
libreadline-dev \
|
21
|
+
ragel && \
|
22
|
+
rm -rf /var/lib/apt/lists/*
|
23
|
+
|
24
|
+
USER ned
|
25
|
+
|
26
|
+
ENV PATH "/home/ned/.rbenv/bin:/home/ned/.rbenv/shims:$PATH"
|
27
|
+
|
28
|
+
# install rbenv
|
29
|
+
RUN \curl -sL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash - && \
|
30
|
+
eval "$(rbenv init -)"
|
31
|
+
|
32
|
+
RUN rm -f .ruby-version
|
33
|
+
|
34
|
+
# the specified ruby version
|
35
|
+
RUN rbenv install $ruby_version && \
|
36
|
+
rbenv global $ruby_version
|
37
|
+
|
38
|
+
COPY --chown=ned:ned . /home/ned/src
|
39
|
+
|
40
|
+
ENTRYPOINT ["docker/entrypoint"]
|
data/docker/build
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
. docker/common.sh
|
4
|
+
|
5
|
+
set -e
|
6
|
+
|
7
|
+
set_ruby_ver $@
|
8
|
+
|
9
|
+
docker build --build-arg ruby_version=$RUBY_VERSION -f docker/Dockerfile -t digressed/test:edn_turbo-rb-$RUBY_VERSION .
|
10
|
+
docker tag "digressed/test:edn_turbo-rb-$RUBY_VERSION" "edn_turbo-rb-$RUBY_VERSION"
|
11
|
+
docker push "digressed/test:edn_turbo-rb-$RUBY_VERSION"
|
data/docker/common.sh
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
RUBY_MAJOR_VER=3.0
|
4
|
+
|
5
|
+
function update_ruby_build()
|
6
|
+
{
|
7
|
+
if [ -e "~/.rbenv/plugins/" ]; then
|
8
|
+
echo "Updating ruby-build definitions"
|
9
|
+
|
10
|
+
pushd ~/.rbenv/plugins/ruby-build/ >> /dev/null
|
11
|
+
git pull
|
12
|
+
popd >> /dev/null
|
13
|
+
fi
|
14
|
+
}
|
15
|
+
|
16
|
+
function set_ruby_ver()
|
17
|
+
{
|
18
|
+
local args=("$@")
|
19
|
+
|
20
|
+
if [ ${#args[@]} -eq 0 ]; then
|
21
|
+
update_ruby_build
|
22
|
+
RUBY_VERSION=`ruby-build --definitions | grep "^$RUBY_MAJOR_VER" | tail -1`
|
23
|
+
else
|
24
|
+
RUBY_VERSION=$1
|
25
|
+
fi
|
26
|
+
|
27
|
+
echo "Using ruby $RUBY_VERSION"
|
28
|
+
}
|
data/docker/console
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
version: "3"
|
2
|
+
services:
|
3
|
+
|
4
|
+
rb-3.0.2:
|
5
|
+
image: digressed/test:edn_turbo-rb-3.0.2
|
6
|
+
stdin_open: true
|
7
|
+
tty: true
|
8
|
+
|
9
|
+
rb-2.7.4:
|
10
|
+
image: digressed/test:edn_turbo-rb-2.7.4
|
11
|
+
stdin_open: true
|
12
|
+
tty: true
|
13
|
+
|
14
|
+
rb-2.6.8:
|
15
|
+
image: digressed/test:edn_turbo-rb-2.6.8
|
16
|
+
stdin_open: true
|
17
|
+
tty: true
|
18
|
+
|
19
|
+
rb-2.5.9:
|
20
|
+
image: digressed/test:edn_turbo-rb-2.5.9
|
21
|
+
stdin_open: true
|
22
|
+
tty: true
|
data/docker/entrypoint
ADDED
data/docker/make-check
ADDED
data/docker/run
ADDED
data/ext/edn_turbo/edn_parser.cc
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#line 1 "edn_parser.rl"
|
3
3
|
// The MIT License (MIT)
|
4
4
|
|
5
|
-
// Copyright (c) 2015-
|
5
|
+
// Copyright (c) 2015-2021 Ed Porras
|
6
6
|
|
7
7
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
// of this software and associated documentation files (the "Software"), to deal
|
data/ext/edn_turbo/edn_parser.rl
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
// The MIT License (MIT)
|
2
2
|
|
3
|
-
// Copyright (c) 2015-
|
3
|
+
// Copyright (c) 2015-2021 Ed Porras
|
4
4
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
data/ext/edn_turbo/extconf.rb
CHANGED
@@ -2,18 +2,18 @@
|
|
2
2
|
|
3
3
|
# The MIT License (MIT)
|
4
4
|
|
5
|
-
# Copyright (c) 2015-
|
6
|
-
#
|
5
|
+
# Copyright (c) 2015-2021 Ed Porras
|
6
|
+
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"), to deal
|
9
9
|
# in the Software without restriction, including without limitation the rights
|
10
10
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
11
11
|
# copies of the Software, and to permit persons to whom the Software is
|
12
12
|
# furnished to do so, subject to the following conditions:
|
13
|
-
#
|
13
|
+
#
|
14
14
|
# The above copyright notice and this permission notice shall be included in
|
15
15
|
# all copies or substantial portions of the Software.
|
16
|
-
#
|
16
|
+
#
|
17
17
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
18
18
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
19
19
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
@@ -24,43 +24,29 @@
|
|
24
24
|
|
25
25
|
require 'mkmf'
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
ENV['PKG_CONFIG_PATH'] ||= ""
|
28
|
+
ENV['PKG_CONFIG_PATH'] += if RUBY_PLATFORM =~ /darwin/
|
29
|
+
":/usr/local/opt/icu4c/lib/pkgconfig:/opt/homebrew/opt/icu4c/lib/pkgconfig"
|
30
|
+
else
|
31
|
+
":/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig"
|
32
|
+
end
|
31
33
|
|
32
|
-
|
33
|
-
File.exist?('/usr/local/opt/icu4c/lib/pkgconfig/icu-uc.pc')
|
34
|
-
|
35
|
-
i_opt = %x[ export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig" && /usr/local/bin/pkg-config --cflags-only-I icu-uc ]
|
36
|
-
[
|
37
|
-
i_opt[/-I(.+?)\s/,1]
|
38
|
-
].freeze
|
39
|
-
else
|
40
|
-
[
|
41
|
-
'/usr/local/include',
|
42
|
-
'/usr/local/opt/icu4c/include',
|
43
|
-
'/usr/include'
|
44
|
-
].freeze
|
45
|
-
end
|
46
|
-
|
47
|
-
lib_dirs =
|
48
|
-
if RUBY_PLATFORM =~ /darwin/
|
49
|
-
l_opt = %x[ export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig" && /usr/local/bin/pkg-config --libs icu-uc ]
|
50
|
-
[
|
51
|
-
l_opt[/-L(.+?)\s/,1]
|
52
|
-
].freeze
|
53
|
-
else
|
54
|
-
[
|
55
|
-
'/usr/local/lib', # must be the first entry; add others after it
|
56
|
-
'/usr/local/opt/icu4c/lib'
|
57
|
-
].freeze
|
58
|
-
end
|
59
|
-
|
60
|
-
dir_config('icuuc', header_dirs, lib_dirs)
|
34
|
+
pkg_config('icu-uc')
|
61
35
|
|
62
36
|
# feels very hackish to do this but the new icu4c needs it on MacOS
|
63
|
-
|
37
|
+
if RUBY_PLATFORM =~ /darwin/
|
38
|
+
$CXXFLAGS << ' -stdlib=libc++ -Wno-deprecated-register'
|
39
|
+
else
|
40
|
+
# remove some flags that are either clang-specific or unrecognized
|
41
|
+
# but somehow get passed under linux (?!)
|
42
|
+
%w[
|
43
|
+
-Wno-self-assign -Wno-parentheses-equality -Wno-constant-logical-operand
|
44
|
+
-Wno-cast-function-type -Wdeclaration-after-statement -Wimplicit-function-declaration
|
45
|
+
-Wimplicit-int
|
46
|
+
].each do |f|
|
47
|
+
$warnflags.sub!(f, '')
|
48
|
+
end
|
49
|
+
end
|
64
50
|
$CXXFLAGS << ' -std=c++11 -std=gnu++11'
|
65
51
|
|
66
52
|
abort "\n>> failed to find icu4c headers - is icu4c installed?\n\n" unless
|
data/ext/edn_turbo/main.cc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
// The MIT License (MIT)
|
2
2
|
|
3
|
-
// Copyright (c) 2015-
|
3
|
+
// Copyright (c) 2015-2021 Ed Porras
|
4
4
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
@@ -26,6 +26,7 @@
|
|
26
26
|
#include <cstring>
|
27
27
|
|
28
28
|
#include <ruby/ruby.h>
|
29
|
+
#include <ruby/version.h>
|
29
30
|
#include <ruby/io.h>
|
30
31
|
|
31
32
|
#include "parser.h"
|
@@ -62,7 +63,7 @@ namespace edn {
|
|
62
63
|
|
63
64
|
static const rb_data_type_t parser_data_type = {
|
64
65
|
"edn_turbo::Parser",
|
65
|
-
{0, delete_parser, 0,
|
66
|
+
{0, delete_parser, 0, 0},
|
66
67
|
0, 0,
|
67
68
|
RUBY_TYPED_FREE_IMMEDIATELY,
|
68
69
|
};
|
@@ -217,9 +218,11 @@ void Init_edn_turbo(void)
|
|
217
218
|
edn::EDN_MAKE_SYMBOL_METHOD = rb_intern("symbol");
|
218
219
|
edn::EDN_MAKE_LIST_METHOD = rb_intern("list");
|
219
220
|
edn::EDN_MAKE_SET_METHOD = rb_intern("set");
|
220
|
-
edn::EDN_MAKE_BIG_DECIMAL_METHOD = rb_intern("big_decimal");
|
221
221
|
edn::EDN_TAGGED_ELEM_METHOD = rb_intern("tagged_element");
|
222
222
|
|
223
|
+
// see lib/edn_turbo.rb
|
224
|
+
edn::EDN_MAKE_BIG_DECIMAL_METHOD = rb_intern("big_decimal_edn_turbo");
|
225
|
+
|
223
226
|
// defined in EDNT - see edn_parser.rb
|
224
227
|
edn::EDNT_EXTENDED_VALUE_METHOD = rb_intern("extend_for_meta");
|
225
228
|
edn::EDN_MAKE_RATIONAL_METHOD = rb_intern("rational"); // should be in edn-ruby
|
data/ext/edn_turbo/parser.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
// The MIT License (MIT)
|
2
2
|
|
3
|
-
// Copyright (c) 2015-
|
3
|
+
// Copyright (c) 2015-2021 Ed Porras
|
4
4
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
data/ext/edn_turbo/parser_def.cc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
// The MIT License (MIT)
|
2
2
|
|
3
|
-
// Copyright (c) 2015-
|
3
|
+
// Copyright (c) 2015-2021 Ed Porras
|
4
4
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
@@ -205,7 +205,7 @@ namespace edn
|
|
205
205
|
// =================================================================
|
206
206
|
//
|
207
207
|
// error reporting
|
208
|
-
void Parser::error(const std::string& func
|
208
|
+
void Parser::error(const std::string& /*func*/, const std::string& err, char c) const
|
209
209
|
{
|
210
210
|
std::cerr << "Parse error "
|
211
211
|
// "from " << func << "() "
|
data/ext/edn_turbo/util.cc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
// The MIT License (MIT)
|
2
2
|
|
3
|
-
// Copyright (c) 2015-
|
3
|
+
// Copyright (c) 2015-2021 Ed Porras
|
4
4
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
data/ext/edn_turbo/util.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
// The MIT License (MIT)
|
2
2
|
|
3
|
-
// Copyright (c) 2015-
|
3
|
+
// Copyright (c) 2015-2021 Ed Porras
|
4
4
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
@@ -22,6 +22,8 @@
|
|
22
22
|
|
23
23
|
#pragma once
|
24
24
|
|
25
|
+
#include <cstddef>
|
26
|
+
|
25
27
|
namespace edn
|
26
28
|
{
|
27
29
|
extern VALUE rb_mEDN;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
// The MIT License (MIT)
|
2
2
|
|
3
|
-
// Copyright (c) 2015-
|
3
|
+
// Copyright (c) 2015-2021 Ed Porras
|
4
4
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
@@ -1,6 +1,6 @@
|
|
1
1
|
// The MIT License (MIT)
|
2
2
|
|
3
|
-
// Copyright (c) 2015-
|
3
|
+
// Copyright (c) 2015-2021 Ed Porras
|
4
4
|
|
5
5
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
// of this software and associated documentation files (the "Software"), to deal
|
data/lib/edn_turbo/edn_parser.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License (MIT)
|
4
4
|
#
|
5
|
-
# Copyright (c) 2015-
|
5
|
+
# Copyright (c) 2015-2021 Ed Porras
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"), to deal
|
data/lib/edn_turbo/version.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# The MIT License (MIT)
|
2
4
|
#
|
3
|
-
# Copyright (c) 2015-
|
5
|
+
# Copyright (c) 2015-2021 Ed Porras
|
4
6
|
#
|
5
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
8
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -21,6 +23,6 @@
|
|
21
23
|
# THE SOFTWARE.
|
22
24
|
|
23
25
|
module EDNT
|
24
|
-
VERSION = '0.
|
25
|
-
RELEASE_DATE = '
|
26
|
+
VERSION = '0.7.3'
|
27
|
+
RELEASE_DATE = '2021-11-06'
|
26
28
|
end
|
data/lib/edn_turbo.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# The MIT License (MIT)
|
4
4
|
#
|
5
|
-
# Copyright (c) 2015-
|
5
|
+
# Copyright (c) 2015-2021 Ed Porras
|
6
6
|
#
|
7
7
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
8
|
# of this software and associated documentation files (the "Software"), to deal
|
@@ -36,4 +36,10 @@ module EDN
|
|
36
36
|
def self.rational(value)
|
37
37
|
Rational(value)
|
38
38
|
end
|
39
|
+
|
40
|
+
# edn-ruby uses BigDecimal.new() which breaks in ruby >= 2.7.0 so we
|
41
|
+
# use this instead
|
42
|
+
def self.big_decimal_edn_turbo(value)
|
43
|
+
BigDecimal(value)
|
44
|
+
end
|
39
45
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: edn_turbo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ed Porras
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: edn
|
@@ -28,16 +28,22 @@ dependencies:
|
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '12.3'
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '14.0'
|
34
37
|
type: :runtime
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
|
-
- - "
|
41
|
+
- - ">="
|
39
42
|
- !ruby/object:Gem::Version
|
40
43
|
version: '12.3'
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '14.0'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: rake-compiler
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,6 +98,20 @@ dependencies:
|
|
92
98
|
- - "~>"
|
93
99
|
- !ruby/object:Gem::Version
|
94
100
|
version: 3.8.0
|
101
|
+
- !ruby/object:Gem::Dependency
|
102
|
+
name: rubocop
|
103
|
+
requirement: !ruby/object:Gem::Requirement
|
104
|
+
requirements:
|
105
|
+
- - "~>"
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: '1.9'
|
108
|
+
type: :development
|
109
|
+
prerelease: false
|
110
|
+
version_requirements: !ruby/object:Gem::Requirement
|
111
|
+
requirements:
|
112
|
+
- - "~>"
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: '1.9'
|
95
115
|
description: Optimized plugin for parsing EDN files using ragel
|
96
116
|
email: github@digressed.net
|
97
117
|
executables:
|
@@ -100,19 +120,24 @@ extensions:
|
|
100
120
|
- ext/edn_turbo/extconf.rb
|
101
121
|
extra_rdoc_files: []
|
102
122
|
files:
|
123
|
+
- ".dir-locals.el"
|
103
124
|
- ".gitignore"
|
104
125
|
- ".rspec"
|
105
126
|
- CHANGELOG.md
|
106
|
-
- Dockerfile
|
107
127
|
- Gemfile
|
108
128
|
- LICENSE
|
109
129
|
- README.md
|
110
130
|
- Rakefile
|
111
|
-
- bin/build_docker_image.sh
|
112
|
-
- bin/console.sh
|
113
131
|
- bin/ppedn
|
114
132
|
- bin/ppedn-ruby
|
115
|
-
- docker
|
133
|
+
- docker/Dockerfile
|
134
|
+
- docker/build
|
135
|
+
- docker/common.sh
|
136
|
+
- docker/console
|
137
|
+
- docker/docker-compose.yml
|
138
|
+
- docker/entrypoint
|
139
|
+
- docker/make-check
|
140
|
+
- docker/run
|
116
141
|
- ext/edn_turbo/depend
|
117
142
|
- ext/edn_turbo/edn_parser.cc
|
118
143
|
- ext/edn_turbo/edn_parser.rl
|
@@ -133,7 +158,7 @@ homepage: http://rubygems.org/gems/edn_turbo
|
|
133
158
|
licenses:
|
134
159
|
- MIT
|
135
160
|
metadata: {}
|
136
|
-
post_install_message:
|
161
|
+
post_install_message:
|
137
162
|
rdoc_options: []
|
138
163
|
require_paths:
|
139
164
|
- lib
|
@@ -141,15 +166,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
141
166
|
requirements:
|
142
167
|
- - ">="
|
143
168
|
- !ruby/object:Gem::Version
|
144
|
-
version:
|
169
|
+
version: 2.5.0
|
145
170
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
146
171
|
requirements:
|
147
172
|
- - ">="
|
148
173
|
- !ruby/object:Gem::Version
|
149
174
|
version: '0'
|
150
175
|
requirements: []
|
151
|
-
rubygems_version: 3.
|
152
|
-
signing_key:
|
176
|
+
rubygems_version: 3.2.22
|
177
|
+
signing_key:
|
153
178
|
specification_version: 3
|
154
179
|
summary: Read EDN files
|
155
180
|
test_files: []
|
data/Dockerfile
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
FROM buildpack-deps:stretch
|
2
|
-
MAINTAINER github@digressed.net
|
3
|
-
|
4
|
-
ENV LC_ALL C.UTF-8
|
5
|
-
|
6
|
-
# Update Ubuntu Software repository
|
7
|
-
RUN apt-get update
|
8
|
-
|
9
|
-
# install dependencies & utils
|
10
|
-
RUN apt-get install -y \
|
11
|
-
libicu-dev \
|
12
|
-
curl \
|
13
|
-
libreadline-dev
|
14
|
-
|
15
|
-
# aliases, environment
|
16
|
-
RUN echo 'alias h="history"' >> /root/.bashrc
|
17
|
-
RUN echo 'alias be="bundle exec"' >> /root/.bashrc
|
18
|
-
ENV PATH "/root/.rbenv/bin:/root/.rbenv/shims:$PATH"
|
19
|
-
|
20
|
-
# install rbenv & ruby
|
21
|
-
RUN \curl -sL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash -
|
22
|
-
RUN eval "$(rbenv init -)"
|
23
|
-
|
24
|
-
ENV RUBY_VERSION=2.6.3
|
25
|
-
RUN rbenv install ${RUBY_VERSION}
|
26
|
-
RUN rbenv global ${RUBY_VERSION}
|
27
|
-
|
28
|
-
# mute bundle warning about root user
|
29
|
-
RUN bundle config --global silence_root_warning 1
|
30
|
-
|
31
|
-
WORKDIR /gem
|
32
|
-
|
33
|
-
# cleanup
|
34
|
-
RUN rm -rf /var/lib/apt/lists/*
|
data/bin/build_docker_image.sh
DELETED
data/bin/console.sh
DELETED