simdjson 0.4.0 → 1.0.1

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: 3f19f88a78f95823a7f2f42fbcd97dc5ce9abcf869b7ba0129a161219e2a4f28
4
- data.tar.gz: 608d43efb57736eb04628e9535d250df88798412fb989580fd52ea1d5c600474
3
+ metadata.gz: 53b3750a36277a2b82719e05d004d9b0f9047d0c24a149e2695989614fd11c85
4
+ data.tar.gz: 8deb51bff653e504783a29e3d3cbcc6ad102046469e6a963ecfab75e47f67f1f
5
5
  SHA512:
6
- metadata.gz: 730bc29366544231b389f988e6a52d8930251cf8987bb292ccdffb0f34a59ba4dac9f4762c550c457614a46559792301e98d3ab3c6069393f5c7fc5f9e0f3290
7
- data.tar.gz: '08f3fbbc70164b39be9987b360bfb241746cd65b898bd06358d3a7783ea81b766cd7c8752a7ca4000eaa648aa5307bf25480b8b848fb5e99fd30f4908f310829'
6
+ metadata.gz: 4cf621a4ff8f300ddbe88682853926c81b148636f0d9b1d913d2e37d668e484c543296cd343d6c2d57994c1dcbb17db4450d14147bb8850740f3b7594d84d599
7
+ data.tar.gz: d799350e3caad57119597394bb3bf9314c8b1f15c8c413336e99156be5212ff946db6cdf77bdad698e8da4df5967190a1bc7849f48e230199903f2f2fcf95adc
@@ -0,0 +1,30 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ ruby: [ '2.6', '2.7' ]
15
+ name: Ruby ${{ matrix.ruby }} sample
16
+ steps:
17
+ - uses: actions/checkout@v2.3.2
18
+ with:
19
+ submodules: true
20
+ - uses: actions/setup-ruby@v1.1.1
21
+ with:
22
+ ruby-version: ${{ matrix.ruby }}
23
+ - name: Update bundler
24
+ run: gem install bundler -v 2.1.4
25
+ - name: Install dependencies
26
+ run: bundle install
27
+ - name: Build and run tests
28
+ run: bundle exec rake
29
+ - name: Run rubocop
30
+ run: bundle exec rubocop --fail-level=W
@@ -1,9 +1,13 @@
1
1
  require:
2
2
  - rubocop-performance
3
- LineLength:
3
+ AllCops:
4
+ TargetRubyVersion: 2.6
5
+ Layout/LineLength:
4
6
  Max: 120
5
7
  Style/Documentation:
6
8
  Enabled: false
7
- CyclomaticComplexity:
9
+ Style/GlobalVars:
10
+ AllowedVariables:
11
+ - $CXXFLAGS
12
+ Metrics/CyclomaticComplexity:
8
13
  Max: 10
9
-
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in simdjson.gemspec
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # simdjson gem
2
- [![Build Status](https://travis-ci.org/saka1/simdjson_ruby.svg?branch=master)](https://travis-ci.org/saka1/simdjson_ruby)
2
+ ![Ruby](https://github.com/saka1/simdjson_ruby/workflows/Ruby/badge.svg)
3
3
  [![Gem Version](https://badge.fury.io/rb/simdjson.svg)](https://badge.fury.io/rb/simdjson)
4
4
 
5
5
  A Ruby bindings for [simdjson](https://github.com/lemire/simdjson).
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rake/testtask'
3
5
  require 'rubocop/rake_task'
@@ -18,9 +20,10 @@ task compile: :before_compile
18
20
  task :before_compile do
19
21
  puts 'Copy singleheader files to ext/simdjson...'
20
22
  FileUtils.cp([
21
- "#{SIMDJSON_SINGLEHEADER_DIR}/simdjson.h",
22
- "#{SIMDJSON_SINGLEHEADER_DIR}//simdjson.cpp"],
23
- 'ext/simdjson')
23
+ "#{SIMDJSON_SINGLEHEADER_DIR}/simdjson.h",
24
+ "#{SIMDJSON_SINGLEHEADER_DIR}//simdjson.cpp"
25
+ ],
26
+ 'ext/simdjson')
24
27
  end
25
28
 
26
29
  Rake::ExtensionTask.new('simdjson') do |ext|
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'benchmark/ips'
4
5
  require 'json'
@@ -1,7 +1,7 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  require 'mkmf'
3
4
 
4
- $CXXFLAGS += ' -std=c++1z -Wno-register '
5
+ $CXXFLAGS += ' -std=c++11 -Wno-register '
5
6
 
6
7
  create_makefile('simdjson/simdjson')
7
-
@@ -52,7 +52,9 @@ static VALUE rb_simdjson_parse(VALUE self, VALUE arg) {
52
52
  Check_Type(arg, T_STRING);
53
53
 
54
54
  dom::parser parser;
55
- auto [doc, error] = parser.parse(RSTRING_PTR(arg), RSTRING_LEN(arg));
55
+ padded_string str(RSTRING_PTR(arg), RSTRING_LEN(arg));
56
+ dom::element doc;
57
+ auto error = parser.parse(str).get(doc);
56
58
  if (error == SUCCESS) {
57
59
  return make_ruby_object(doc);
58
60
  }
@@ -69,4 +71,3 @@ void Init_simdjson(void) {
69
71
  rb_define_module_function(rb_mSimdjson, "parse", reinterpret_cast<VALUE (*)(...)>(rb_simdjson_parse), 1);
70
72
  }
71
73
  }
72
-
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'simdjson/version'
2
4
  require 'simdjson/simdjson'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Simdjson
2
- VERSION = '0.4.0'.freeze
4
+ VERSION = '1.0.1'
3
5
  end
@@ -15,6 +15,8 @@ Gem::Specification.new do |spec|
15
15
  spec.homepage = 'https://github.com/saka1/simdjson_ruby'
16
16
  spec.license = 'MIT'
17
17
 
18
+ spec.required_ruby_version = '>= 2.6'
19
+
18
20
  # Specify which files should be added to the gem when it is released.
19
21
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
20
22
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
@@ -32,6 +34,6 @@ Gem::Specification.new do |spec|
32
34
  spec.add_development_dependency 'oj'
33
35
  spec.add_development_dependency 'rake', '>= 12.3.3'
34
36
  spec.add_development_dependency 'rake-compiler'
35
- spec.add_development_dependency 'rubocop'
36
- spec.add_development_dependency 'rubocop-performance'
37
+ spec.add_development_dependency 'rubocop', '~> 0.89.1'
38
+ spec.add_development_dependency 'rubocop-performance', '~> 1.7.1'
37
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simdjson
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - saka1
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-14 00:00:00.000000000 Z
11
+ date: 2020-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: benchmark-ips
@@ -98,30 +98,30 @@ dependencies:
98
98
  name: rubocop
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: 0.89.1
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: 0.89.1
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rubocop-performance
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: 1.7.1
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: 1.7.1
125
125
  description: simdjson gem is a binding to use simdjson, which is a Lemire's fast JSON
126
126
  parser.
127
127
  email:
@@ -132,10 +132,10 @@ extensions:
132
132
  extra_rdoc_files: []
133
133
  files:
134
134
  - ".clang-format"
135
+ - ".github/workflows/ruby.yml"
135
136
  - ".gitignore"
136
137
  - ".gitmodules"
137
138
  - ".rubocop.yml"
138
- - ".travis.yml"
139
139
  - Gemfile
140
140
  - LICENSE.txt
141
141
  - README.md
@@ -164,7 +164,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
164
164
  requirements:
165
165
  - - ">="
166
166
  - !ruby/object:Gem::Version
167
- version: '0'
167
+ version: '2.6'
168
168
  required_rubygems_version: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - ">="
@@ -1,14 +0,0 @@
1
- ---
2
- language: ruby
3
- cache: bundler
4
- dist: bionic
5
- os: linux
6
- rvm:
7
- - 2.7
8
- - 2.6
9
- - 2.5
10
- git:
11
- submodules: false
12
- before_install:
13
- - git submodule update --init
14
- - gem install bundler -v 2.0.1