ruby-jq 0.1.8 → 0.1.9

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: 537f5ec4e07f12337cd66123d06a2d148bf16ef623a8ec8cb17b80b809182a25
4
- data.tar.gz: 68f12164fb0869149ddb318b3f9c6fd2a49caf3db9054f981281f83273c918b9
3
+ metadata.gz: 43c764b0f3f3cd5367eea7ecff568fe0ec2d377089afa98f958ba593b2501f9f
4
+ data.tar.gz: 1acddbfaac0eff780f1062f35f4c5e63c5d2802fc67a0a3dfb60033cc236e79d
5
5
  SHA512:
6
- metadata.gz: 035220f5256927a0cba9871d1e6364e5fb660ef8b7c13227ad31d6cd9fe6f1d8cd004a687055d65ea1292458baef6ac6daba6419f266d349300ab2ccbc4e34b7
7
- data.tar.gz: d1a52a3a72c9be7922c84034432ddce4838c2290970e737f15583104cbef87eef09b3d9a8b6e019ad5584439420b51c132a6d0601361f1b9f79ba25d371f1240
6
+ metadata.gz: 899bbe330b88c9bcfb872c8192b83fb482f5d27f5fb3dd67a7a35971f96a44ed95a9e1c405836f72bc5334963834a25c5ec7221259fcb659d5db85eb1db4448b
7
+ data.tar.gz: da28113ca9cf1414250b9137a1e3904b7bf5943bba55ae689b0efec4527cee60ce96eee575bf211acaf7067f23cac2aee478359ada210941451a69b870f09c42
@@ -60,10 +60,13 @@ static void jq_process(jq_state *jq, jv value, VALUE (*proc)(), int *status, VAL
60
60
  jq_start(jq, value, 0);
61
61
  jv result;
62
62
 
63
- while (jv_is_valid(result = jq_next(jq)) && *status == 0) {
63
+ while (jv_is_valid(result = jq_next(jq))) {
64
64
  jv dumped = jv_dump_string(result, 0);
65
65
  const char *str = jv_string_value(dumped);
66
- rb_protect(proc, rb_str_new2(str), status);
66
+
67
+ if (*status == 0) {
68
+ rb_protect(proc, rb_str_new2(str), status);
69
+ }
67
70
  }
68
71
 
69
72
  if (jv_invalid_has_msg(jv_copy(result))) {
@@ -78,8 +81,10 @@ static void jq_process(jq_state *jq, jv value, VALUE (*proc)(), int *status, VAL
78
81
  static void jq_parse(jq_state *jq, struct jv_parser *parser, VALUE (*proc)(), int *status, VALUE *errmsg) {
79
82
  jv value;
80
83
 
81
- while (jv_is_valid((value = jv_parser_next(parser))) && *status == 0) {
82
- jq_process(jq, value, proc, status, errmsg);
84
+ while (jv_is_valid(value = jv_parser_next(parser))) {
85
+ if (*status == 0) {
86
+ jq_process(jq, value, proc, status, errmsg);
87
+ }
83
88
  }
84
89
 
85
90
  if (jv_invalid_has_msg(jv_copy(value))) {
@@ -1,3 +1,3 @@
1
1
  module JQ
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9"
3
3
  end
@@ -296,4 +296,12 @@ describe JQ do
296
296
  expect(value).to eq(200)
297
297
  end
298
298
  end
299
+
300
+ specify 'error in block' do
301
+ expect {
302
+ JQ('[1,2,3]').search('.[]') do |value|
303
+ 1 / 0
304
+ end
305
+ }.to raise_error(ZeroDivisionError)
306
+ end
299
307
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-jq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - winebarrel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-05-06 00:00:00.000000000 Z
11
+ date: 2019-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json