simdjson 0.4.0 → 1.0.1

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