jsonpath 0.5.0 → 0.5.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.
data/Rakefile CHANGED
@@ -1,14 +1,6 @@
1
1
  require 'bundler'
2
2
  Bundler::GemHelper.install_tasks
3
3
 
4
- require 'rake/rdoctask'
5
- desc "Generate documentation"
6
- Rake::RDocTask.new do |rd|
7
- rd.main = "README.rdoc"
8
- rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
9
- rd.rdoc_dir = 'rdoc'
10
- end
11
-
12
4
  task :test do
13
5
  $: << 'lib'
14
6
  require 'minitest/autorun'
data/jsonpath.gemspec CHANGED
@@ -26,6 +26,6 @@ Gem::Specification.new do |s|
26
26
  s.add_development_dependency 'rake'
27
27
  s.add_development_dependency 'minitest', '~> 2.2.0'
28
28
  s.add_development_dependency 'phocus'
29
- s.add_development_dependency 'bundler', '~> 1.0.10'
29
+ s.add_development_dependency 'bundler'
30
30
  end
31
31
 
@@ -44,11 +44,16 @@ class JsonPath
44
44
  else
45
45
  if node.is_a?(Array)
46
46
  array_args = sub_path.split(':')
47
- start_idx = process_function_or_literal(array_args[0], 0)
48
- next unless start_idx
47
+ if array_args[0] == ?*
48
+ start_idx = 0
49
+ end_idx = node.size - 1
50
+ else
51
+ start_idx = process_function_or_literal(array_args[0], 0)
52
+ next unless start_idx
53
+ end_idx = (array_args[1] && process_function_or_literal(array_args[1], -1) || (sub_path.count(':') == 0 ? start_idx : -1))
54
+ next unless end_idx
55
+ end
49
56
  start_idx %= node.size
50
- end_idx = (array_args[1] && process_function_or_literal(array_args[1], -1) || (sub_path.count(':') == 0 ? start_idx : -1))
51
- next unless end_idx
52
57
  end_idx %= node.size
53
58
  step = process_function_or_literal(array_args[2], 1)
54
59
  next unless step
@@ -1,3 +1,3 @@
1
1
  class JsonPath
2
- VERSION = '0.5.0'
2
+ VERSION = '0.5.1'
3
3
  end
@@ -122,6 +122,10 @@ class TestJsonpath < MiniTest::Unit::TestCase
122
122
  assert_equal({'you' => nil}, h)
123
123
  end
124
124
 
125
+ def test_wildcard
126
+ assert_equal @object['store']['book'].collect{|e| e['price']}, JsonPath.on(@object, '$..book[*].price')
127
+ end
128
+
125
129
  def example_object
126
130
  { "store"=> {
127
131
  "book" => [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jsonpath
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-27 00:00:00.000000000 Z
12
+ date: 2013-02-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_json
16
- requirement: &70241925955780 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70241925955780
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: code_stats
27
- requirement: &70241925955060 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *70241925955060
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: rake
38
- requirement: &70241925954420 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *70241925954420
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: minitest
49
- requirement: &70241925953660 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ~>
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: 2.2.0
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *70241925953660
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 2.2.0
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: phocus
60
- requirement: &70241925953100 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,18 +85,28 @@ dependencies:
65
85
  version: '0'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *70241925953100
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: bundler
71
- requirement: &70241926010900 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
- - - ~>
99
+ - - ! '>='
75
100
  - !ruby/object:Gem::Version
76
- version: 1.0.10
101
+ version: '0'
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *70241926010900
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  description: Ruby implementation of http://goessner.net/articles/JsonPath/.
81
111
  email: joshbuddy@gmail.com
82
112
  executables:
@@ -113,6 +143,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
113
143
  - - ! '>='
114
144
  - !ruby/object:Gem::Version
115
145
  version: '0'
146
+ segments:
147
+ - 0
148
+ hash: -4414844720981211301
116
149
  required_rubygems_version: !ruby/object:Gem::Requirement
117
150
  none: false
118
151
  requirements:
@@ -121,9 +154,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
154
  version: '0'
122
155
  requirements: []
123
156
  rubyforge_project: jsonpath
124
- rubygems_version: 1.8.15
157
+ rubygems_version: 1.8.24
125
158
  signing_key:
126
159
  specification_version: 3
127
160
  summary: Ruby implementation of http://goessner.net/articles/JsonPath/
128
161
  test_files: []
129
- has_rdoc: