ruby-jq 0.1.6 → 0.1.7

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
  SHA1:
3
- metadata.gz: 881c22001fafffd7b85c7048843b48f9c9e8c709
4
- data.tar.gz: ba8c1a7ae07eae88cdc446967c677b36e6ed7cdf
3
+ metadata.gz: 5cec2eb595c9df2296574f2c0f8e451517feead1
4
+ data.tar.gz: e2537b1e04395fb0eee5f53bdcde7683d0ac9fe9
5
5
  SHA512:
6
- metadata.gz: a667ac22e8c98b17b11e3fb86b2407494b7cebb56ed922c3ff5c11e67bc33e54de9d476dd5c42419e52bb12badb78b8b24c322c8e08bfc9b7b6de5228cce2d34
7
- data.tar.gz: 0ac8b7e8dbbc9ad7657f0c6557e922115f63f3535642730f35b18783e12e7a5593395c0af986e1ab9ae30d8a4c5bbb35a8132c2df20c52f77c19b66dd2a88e46
6
+ metadata.gz: c0cf18747748b7d27d73bfa93059d6ed492954971a6fb5d8b5b5ee5baccf36c0f427d165e1941766b858b180941a1df3e9fc270433ccdc5b2ab3dd892a19473c
7
+ data.tar.gz: a102046963d2664782213e77ddb961e9def674c1af04c6458cc60eacde79eebcfa077b3f7bee89c057366c08218b97272091b7fbb2942dd37422d615c0e19b9e
@@ -1,8 +1,12 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.0.0
4
- - 2.1.5
5
- - 2.2.1
3
+ - 2.2.9
4
+ - 2.3.6
5
+ - 2.4.3
6
+ - 2.5.0
7
+ before_install:
8
+ - gem update --system
9
+ - gem install bundler
6
10
  before_script:
7
11
  - wget http://ftp.gnu.org/gnu/bison/bison-3.0.2.tar.gz
8
12
  - tar xf bison-3.0.2.tar.gz
@@ -16,6 +20,7 @@ before_script:
16
20
  - cd jq
17
21
  - autoreconf -i
18
22
  - ./configure --enable-shared
23
+ - rm $PWD/docs/Gemfile.lock
19
24
  - BUNDLE_GEMFILE="$PWD/docs/Gemfile" bundle install
20
25
  - BUNDLE_GEMFILE="$PWD/docs/Gemfile" bundle exec make
21
26
  - sudo make install
@@ -56,7 +56,7 @@ static VALUE rb_jq_close(VALUE self) {
56
56
  return Qnil;
57
57
  }
58
58
 
59
- static void jq_process(jq_state *jq, jv value, VALUE (*proc)(), int *status) {
59
+ static void jq_process(jq_state *jq, jv value, VALUE (*proc)(), int *status, VALUE *errmsg) {
60
60
  jq_start(jq, value, 0);
61
61
  jv result;
62
62
 
@@ -66,14 +66,20 @@ static void jq_process(jq_state *jq, jv value, VALUE (*proc)(), int *status) {
66
66
  rb_protect(proc, rb_str_new2(str), status);
67
67
  }
68
68
 
69
- jv_free(result);
69
+ if (jv_invalid_has_msg(jv_copy(result))) {
70
+ jv msg = jv_invalid_get_msg(result);
71
+ *errmsg = rb_str_new2(jv_string_value(msg));
72
+ jv_free(msg);
73
+ } else {
74
+ jv_free(result);
75
+ }
70
76
  }
71
77
 
72
78
  static void jq_parse(jq_state *jq, struct jv_parser *parser, VALUE (*proc)(), int *status, VALUE *errmsg) {
73
79
  jv value;
74
80
 
75
81
  while (jv_is_valid((value = jv_parser_next(parser))) && *status == 0) {
76
- jq_process(jq, value, proc, status);
82
+ jq_process(jq, value, proc, status, errmsg);
77
83
  }
78
84
 
79
85
  if (jv_invalid_has_msg(jv_copy(value))) {
@@ -1,3 +1,3 @@
1
1
  module JQ
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
@@ -229,11 +229,11 @@ describe JQ do
229
229
 
230
230
  expect(searched.length).to eq(1)
231
231
  expect(searched[0]).to be_kind_of(String)
232
- expect(JSON.parse(searched[0])).to eq(JSON.parse(expected))
232
+ expect(MultiJson.load(searched[0])).to eq(MultiJson.load(expected))
233
233
 
234
234
  JQ(src, :parse_json => false).search('.') do |value|
235
235
  expect(value).to be_kind_of(String)
236
- expect(JSON.parse(value)).to eq(JSON.parse(expected))
236
+ expect(MultiJson.load(value)).to eq(MultiJson.load(expected))
237
237
  end
238
238
  end
239
239
 
@@ -269,6 +269,14 @@ describe JQ do
269
269
  }.to raise_error(RuntimeError)
270
270
  end
271
271
 
272
+ it 'runtime halt in jq raises error' do
273
+ expect {
274
+ JQ('{}').search('.data | keys') do |value|
275
+ value
276
+ end
277
+ }.to raise_error(JQ::Error).with_message('null (null) has no keys')
278
+ end
279
+
272
280
  it 'query for hash' do
273
281
  src = {'FOO' => 100, 'BAR' => [200, 200]}
274
282
 
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-jq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - winebarrel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-13 00:00:00.000000000 Z
11
+ date: 2018-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake-compiler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: Ruby bindings for jq
@@ -87,9 +87,9 @@ extensions:
87
87
  - ext/extconf.rb
88
88
  extra_rdoc_files: []
89
89
  files:
90
- - .gitignore
91
- - .rspec
92
- - .travis.yml
90
+ - ".gitignore"
91
+ - ".rspec"
92
+ - ".travis.yml"
93
93
  - Gemfile
94
94
  - LICENSE.txt
95
95
  - README.md
@@ -114,17 +114,17 @@ require_paths:
114
114
  - lib
115
115
  required_ruby_version: !ruby/object:Gem::Requirement
116
116
  requirements:
117
- - - '>='
117
+ - - ">="
118
118
  - !ruby/object:Gem::Version
119
119
  version: '0'
120
120
  required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  requirements: []
126
126
  rubyforge_project:
127
- rubygems_version: 2.0.14
127
+ rubygems_version: 2.6.13
128
128
  signing_key:
129
129
  specification_version: 4
130
130
  summary: Ruby bindings for jq