ruby-jq 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OTUzMDNjM2E5MDlmYzBlZWNkZjYwOTJiN2M3MzcyZmZlYzNhZDQxZA==
4
+ NDg2ZDU3MmM0ZDUxNzYzMjUyMGYwMjc0NWFkMDk2ZjEwNjU2OGNlNg==
5
5
  data.tar.gz: !binary |-
6
- MDUyMzQ0MjBiMjcxZjU0MWRiYWExOTA2ODljN2IwZTY1MTUyZTM2ZQ==
6
+ M2M5MjA3YjY3YjM5YTM3ZGQ4YzVkMjU1NThlODE3ZThlY2Y1NTEzYQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NGVlNTM5MGRkZDg2ODI1ZjljY2JlMTI2OWQwZjE2ODczMmE4NzVhNDViOTA5
10
- MDBlMDcxMjA4NWI2MzRlYWUwYmUwZDE2OGQ5MTk5MjgyY2M5NjU2NzlhMWU2
11
- YzZhMzdhNWM2NGU3MTAxZTZlMjEyMzIyZTJjNmQxYTlkOTAzNTM=
9
+ NGM1OWZiNDE3M2U4MGNmOTI2ZGJiZWQwNDllYzE4ZDRmZjI4ODUxNjBiNmU0
10
+ N2Q5MWNkZWMzODBmN2Y1YTY0ZTk0NTcwOTI2NjQ3YWYxODc4MWJlMmViMzA2
11
+ MmY4ZDcwMjVkZGQ0NDI5ODEzMzVlYjc2ODY1OGEwNGZiYTA1ZTM=
12
12
  data.tar.gz: !binary |-
13
- ZTRhMWFjZjQxZGFjNzEzZDBmY2FmMTNiYjAzNzQ1YjQwYjMxY2RiZjU1Y2Yz
14
- YjI2YTMwMzNlMDcyNjliZmVjYzg2OGQwNDFkZTg2OWRiNWE4NjI2MDAwODcz
15
- N2QzZGYzZTYwNjNiOTJhNTAxM2Q3MzMxNTg4NWRhMzdlODM0OWI=
13
+ MTc4YTZlZTA5YWEzZDNiNmI2OWZkMzg4ZjA3MWU5Yzg2NGI3ZmQ4N2RkNTkz
14
+ ZDYyZjRiMzE4YWM0ZmUxMTRmOGRmMWQxNzdhYWUyNTA4ZDI4YmUxZjFmODZj
15
+ NjRiNWNlYzgwMGQ5MjM4YzM2ZTM2Y2ZlODY4YmNhZWFjYWJjYzA=
data/README.md CHANGED
@@ -10,6 +10,16 @@ see [http://stedolan.github.io/jq/](http://stedolan.github.io/jq/).
10
10
 
11
11
  First, please install libjq from HEAD of [git repository](https://github.com/stedolan/jq).
12
12
 
13
+ ```sh
14
+ git clone https://github.com/stedolan/jq.git
15
+ cd jq
16
+ autoreconf -i
17
+ ./configure --enable-shared
18
+ make
19
+ sudo make install
20
+ sudo ldconfig
21
+ ```
22
+
13
23
  Add this line to your application's Gemfile:
14
24
 
15
25
  gem 'ruby-jq'
@@ -55,3 +65,17 @@ jq.search('.[1].BAR') do |value|
55
65
  # => "[100,200]"
56
66
  end
57
67
  ```
68
+
69
+ ### Query for Hash/Array
70
+
71
+ ```ruby
72
+ require 'jq/extend'
73
+
74
+ p {'FOO' => 100, 'BAR' => [200, 200]}.jq('.BAR[]')
75
+ # => [200, 200]
76
+
77
+ ['FOO', 100, 'BAR', [200, 200]].jq('.[3][]') do |value|
78
+ p value
79
+ # => 200
80
+ end
81
+ ```
data/lib/jq/extend.rb ADDED
@@ -0,0 +1,11 @@
1
+ require 'jq'
2
+
3
+ module JQ::Extend
4
+ def jq(program, &block)
5
+ src = JSON(self)
6
+ JQ(src).search(program, &block)
7
+ end
8
+ end
9
+
10
+ class Hash; include JQ::Extend; end
11
+ class Array; include JQ::Extend; end
data/lib/jq/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module JQ
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
data/spec/jq_spec.rb CHANGED
@@ -266,4 +266,24 @@ describe JQ do
266
266
  end
267
267
  }.to raise_error(RuntimeError)
268
268
  end
269
+
270
+ it 'query for hash' do
271
+ src = {'FOO' => 100, 'BAR' => [200, 200]}
272
+
273
+ expect(src.jq('.BAR[]')).to eq([200, 200])
274
+
275
+ src.jq('.BAR[]') do |value|
276
+ expect(value).to eq(200)
277
+ end
278
+ end
279
+
280
+ it 'query for array' do
281
+ src = ['FOO', 100, 'BAR', [200, 200]]
282
+
283
+ expect(src.jq('.[3][]')).to eq([200, 200])
284
+
285
+ src.jq('.[3][]') do |value|
286
+ expect(value).to eq(200)
287
+ end
288
+ end
269
289
  end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,4 @@
1
1
  $: << File.dirname(__FILE__) + '/../lib'
2
2
  require 'tempfile'
3
3
  require 'jq'
4
+ require 'jq/extend'
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.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - winebarrel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-14 00:00:00.000000000 Z
11
+ date: 2013-11-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -96,6 +96,7 @@ files:
96
96
  - ext/jq_core.c
97
97
  - ext/jq_core.h
98
98
  - lib/jq.rb
99
+ - lib/jq/extend.rb
99
100
  - lib/jq/parser.rb
100
101
  - lib/jq/version.rb
101
102
  - ruby-jq.gemspec