edn_turbo 0.7.3 → 0.7.4

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: 6ef6fae989e30efe46585a8cfe01ae00255e4014ade4a0ac5f36a0d7c1e98511
4
- data.tar.gz: fc19904544cc35bfb84e08a2cb5d13e7fc4fc8b6a19117de247cc5d701c25bee
3
+ metadata.gz: e4f2cc5531962887077e75e79cc1d42d37f2f8143165d9ee7df0818734cb1022
4
+ data.tar.gz: 5dcd8570be3b75ace36eed047e27b97fd519dcd367bf467a46e9006a34776644
5
5
  SHA512:
6
- metadata.gz: d7bbeacf3d1d4e8e75356986bf87a3838d6e40729ea206aab1b55860d693b1e4e0d0bb1b63d2ae5689d3080f9a4dc239beb3aa7b29b9fe191e6d3592dfb3514b
7
- data.tar.gz: 1877016ec61e37c41f4aed022444d721406068f062d6210cfd41cfe5d48290889de24f2d1bd5ebe00cd2ad34dd97af4904567644335a45255cb91d79e118e4fc
6
+ metadata.gz: f10e96bbe9017ccfcc8dd2564c1b69682859c9ab6a2be6853bea8b4fda571b03f4308fcf4c23536867e6bb29ba63bbbd4f51ce3e01c4fddaef58448b7b525d44
7
+ data.tar.gz: eaa77242fb9557d18a76069d99b0ae4339fd32dd7474d7da7c3a9399b6db4cfec4fd53d1dced027372a21f2c93da99815bbb5867acc657ad19d069e4d57d6d34
@@ -0,0 +1,32 @@
1
+ name: Build c-ext gem
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+ branches: [ devel ]
7
+
8
+ jobs:
9
+ test:
10
+ strategy:
11
+ fail-fast: false
12
+ matrix:
13
+ os:
14
+ - ubuntu-latest
15
+ # - macos-latest
16
+ # Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
17
+ ruby:
18
+ - '2.6'
19
+ - '2.7'
20
+ - '3.0'
21
+ - '3.1'
22
+ runs-on: ${{ matrix.os }}
23
+ steps:
24
+ - run: sudo apt-get install -y libicu-dev libreadline-dev ragel
25
+ - uses: ruby/setup-ruby@v1
26
+ with:
27
+ ruby-version: ${{ matrix.ruby }}
28
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
29
+ - uses: actions/checkout@v2
30
+ - run: bundle install
31
+ - run: bundle exec rake
32
+ - run: bundle exec rspec
data/CHANGELOG.md CHANGED
@@ -1,8 +1,12 @@
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.7.4] - 2022-05-03
5
+ ### Fixed
6
+ * empty strings should use utf-8 encoding (#11).
7
+
4
8
  ## [0.7.3] - 2021-11-06
5
- ### Changed
9
+ ### Fixed
6
10
  * Fix by Caleb Land for new homebrew installs to /opt
7
11
 
8
12
  ## [0.7.2] - 2021-09-20
@@ -52,7 +56,8 @@ All notable changes to this project will be documented in this file. This change
52
56
  ### Added
53
57
  * initial version of docker configs for testing on Ubuntu.
54
58
 
55
- [Unreleased]: https://github.com/edporras/edn_turbo/-/compare/0.7.3...main
59
+ [Unreleased]: https://github.com/edporras/edn_turbo/-/compare/0.7.4...main
60
+ [0.7.4]: https://github.com/edporras/edn_turbo/-/compare/0.7.3...0.7.4
56
61
  [0.7.3]: https://github.com/edporras/edn_turbo/-/compare/0.7.2...0.7.3
57
62
  [0.7.2]: https://github.com/edporras/edn_turbo/-/compare/0.7.1...0.7.2
58
63
  [0.7.1]: https://github.com/edporras/edn_turbo/-/compare/0.7.0...0.7.1
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2015-2021 Ed Porras
3
+ Copyright (c) 2015-2022 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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- edn_turbo 0.7.3
1
+ edn_turbo 0.7.4
2
2
  ===============
3
3
 
4
4
  Fast [Ragel](http://www.colm.net/open-source/ragel/)-based EDN parser for Ruby.
@@ -2,7 +2,7 @@
2
2
  #line 1 "edn_parser.rl"
3
3
  // The MIT License (MIT)
4
4
 
5
- // Copyright (c) 2015-2021 Ed Porras
5
+ // Copyright (c) 2015-2022 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
@@ -1,6 +1,6 @@
1
1
  // The MIT License (MIT)
2
2
 
3
- // Copyright (c) 2015-2021 Ed Porras
3
+ // Copyright (c) 2015-2022 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
@@ -2,7 +2,7 @@
2
2
 
3
3
  # The MIT License (MIT)
4
4
 
5
- # Copyright (c) 2015-2021 Ed Porras
5
+ # Copyright (c) 2015-2022 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
@@ -1,6 +1,6 @@
1
1
  // The MIT License (MIT)
2
2
 
3
- // Copyright (c) 2015-2021 Ed Porras
3
+ // Copyright (c) 2015-2022 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-2021 Ed Porras
3
+ // Copyright (c) 2015-2022 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-2021 Ed Porras
3
+ // Copyright (c) 2015-2022 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-2021 Ed Porras
3
+ // Copyright (c) 2015-2022 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
@@ -214,7 +214,7 @@ namespace edn
214
214
  if (error) throw_error(error);
215
215
  return true;
216
216
  } else if (p_end == p_start) {
217
- v_utf8 = rb_str_new("", 0);
217
+ v_utf8 = rb_utf8_str_new_lit("");
218
218
  return true;
219
219
  }
220
220
 
data/ext/edn_turbo/util.h CHANGED
@@ -1,6 +1,6 @@
1
1
  // The MIT License (MIT)
2
2
 
3
- // Copyright (c) 2015-2021 Ed Porras
3
+ // Copyright (c) 2015-2022 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-2021 Ed Porras
3
+ // Copyright (c) 2015-2022 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-2021 Ed Porras
3
+ // Copyright (c) 2015-2022 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
@@ -2,7 +2,7 @@
2
2
 
3
3
  # The MIT License (MIT)
4
4
  #
5
- # Copyright (c) 2015-2021 Ed Porras
5
+ # Copyright (c) 2015-2022 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
@@ -2,7 +2,7 @@
2
2
 
3
3
  # The MIT License (MIT)
4
4
  #
5
- # Copyright (c) 2015-2021 Ed Porras
5
+ # Copyright (c) 2015-2022 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
@@ -23,6 +23,6 @@
23
23
  # THE SOFTWARE.
24
24
 
25
25
  module EDNT
26
- VERSION = '0.7.3'
27
- RELEASE_DATE = '2021-11-06'
26
+ VERSION = '0.7.4'
27
+ RELEASE_DATE = '2022-05-03'
28
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-2021 Ed Porras
5
+ # Copyright (c) 2015-2022 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
@@ -1,5 +1,27 @@
1
+ # The MIT License (MIT)
2
+ #
3
+ # Copyright (c) 2015-2022 Ed Porras
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in
13
+ # all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ # THE SOFTWARE.
22
+
1
23
  require 'edn_turbo'
2
- require 'pry-byebug'
24
+ # require 'pry-byebug'
3
25
 
4
26
  module EDNT
5
27
  RSpec.describe Parser do
@@ -415,5 +437,11 @@ module EDNT
415
437
  expect(subject.parse('[ 1 2 3 4 #_ { :a 1 } ]')).to eq([1, 2, 3, 4])
416
438
  end
417
439
  end
440
+
441
+ context 'encoding' do
442
+ it 'empty str as utf-8' do
443
+ expect(subject.parse('""').encoding).to eq(Encoding::UTF_8)
444
+ end
445
+ end
418
446
  end
419
447
  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.7.3
4
+ version: 0.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ed Porras
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-06 00:00:00.000000000 Z
11
+ date: 2022-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: edn
@@ -45,73 +45,61 @@ dependencies:
45
45
  - !ruby/object:Gem::Version
46
46
  version: '14.0'
47
47
  - !ruby/object:Gem::Dependency
48
- name: rake-compiler
48
+ name: pry-byebug
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '1.0'
54
- type: :runtime
53
+ version: '3.9'
54
+ type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '1.0'
60
+ version: '3.9'
61
61
  - !ruby/object:Gem::Dependency
62
- name: pry-byebug
62
+ name: rake-compiler
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - '='
66
- - !ruby/object:Gem::Version
67
- version: '3.7'
68
65
  - - "~>"
69
66
  - !ruby/object:Gem::Version
70
- version: 3.7.0
67
+ version: '1.2'
71
68
  type: :development
72
69
  prerelease: false
73
70
  version_requirements: !ruby/object:Gem::Requirement
74
71
  requirements:
75
- - - '='
76
- - !ruby/object:Gem::Version
77
- version: '3.7'
78
72
  - - "~>"
79
73
  - !ruby/object:Gem::Version
80
- version: 3.7.0
74
+ version: '1.2'
81
75
  - !ruby/object:Gem::Dependency
82
76
  name: rspec
83
77
  requirement: !ruby/object:Gem::Requirement
84
78
  requirements:
85
- - - '='
86
- - !ruby/object:Gem::Version
87
- version: '3.8'
88
79
  - - "~>"
89
80
  - !ruby/object:Gem::Version
90
- version: 3.8.0
81
+ version: '3.11'
91
82
  type: :development
92
83
  prerelease: false
93
84
  version_requirements: !ruby/object:Gem::Requirement
94
85
  requirements:
95
- - - '='
96
- - !ruby/object:Gem::Version
97
- version: '3.8'
98
86
  - - "~>"
99
87
  - !ruby/object:Gem::Version
100
- version: 3.8.0
88
+ version: '3.11'
101
89
  - !ruby/object:Gem::Dependency
102
90
  name: rubocop
103
91
  requirement: !ruby/object:Gem::Requirement
104
92
  requirements:
105
93
  - - "~>"
106
94
  - !ruby/object:Gem::Version
107
- version: '1.9'
95
+ version: '1.28'
108
96
  type: :development
109
97
  prerelease: false
110
98
  version_requirements: !ruby/object:Gem::Requirement
111
99
  requirements:
112
100
  - - "~>"
113
101
  - !ruby/object:Gem::Version
114
- version: '1.9'
102
+ version: '1.28'
115
103
  description: Optimized plugin for parsing EDN files using ragel
116
104
  email: github@digressed.net
117
105
  executables:
@@ -121,6 +109,7 @@ extensions:
121
109
  extra_rdoc_files: []
122
110
  files:
123
111
  - ".dir-locals.el"
112
+ - ".github/workflows/ruby-ext.yml"
124
113
  - ".gitignore"
125
114
  - ".rspec"
126
115
  - CHANGELOG.md
@@ -130,14 +119,6 @@ files:
130
119
  - Rakefile
131
120
  - bin/ppedn
132
121
  - bin/ppedn-ruby
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
141
122
  - ext/edn_turbo/depend
142
123
  - ext/edn_turbo/edn_parser.cc
143
124
  - ext/edn_turbo/edn_parser.rl
@@ -166,7 +147,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
166
147
  requirements:
167
148
  - - ">="
168
149
  - !ruby/object:Gem::Version
169
- version: 2.5.0
150
+ version: 2.6.0
170
151
  required_rubygems_version: !ruby/object:Gem::Requirement
171
152
  requirements:
172
153
  - - ">="
data/docker/Dockerfile DELETED
@@ -1,40 +0,0 @@
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 DELETED
@@ -1,11 +0,0 @@
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 DELETED
@@ -1,28 +0,0 @@
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 DELETED
@@ -1,11 +0,0 @@
1
- #!/bin/bash
2
-
3
- if [ $# -eq 0 ]; then
4
- RUBY_VERSION=3.0.0
5
- else
6
- RUBY_VERSION=$1
7
- fi
8
-
9
- echo "running on ruby ${RUBY_VERSION}"
10
-
11
- docker-compose -f docker/docker-compose.yml run rb-$RUBY_VERSION /bin/bash
@@ -1,22 +0,0 @@
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 DELETED
@@ -1,3 +0,0 @@
1
- #!/bin/bash
2
-
3
- exec "$@"
data/docker/make-check DELETED
@@ -1,8 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -x -e
4
-
5
- gem install bundler &&
6
- bundle && \
7
- rake compile && \
8
- bundle exec rspec
data/docker/run DELETED
@@ -1,9 +0,0 @@
1
- #!/bin/bash
2
-
3
- . docker/common.sh
4
-
5
- set -e
6
-
7
- set_ruby_ver $@
8
-
9
- docker-compose -f docker/docker-compose.yml run rb-$RUBY_VERSION docker/make-check