jamespath 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 71c755c55c46dffb46d63967c271a3d3f0277bc9
4
- data.tar.gz: bb5008e347cfd92fda04ef9aea28a21f3da6361b
3
+ metadata.gz: 389e1b7960e5eaafb4287b783247f3d741c63fc3
4
+ data.tar.gz: d443bf351d6c7a7a72c0f424afccb4afc9a0336d
5
5
  SHA512:
6
- metadata.gz: 9a467a6dcbf41838c90dfc2dbabf598525c1c6325646797215c0a0d2b5b0234559be7f2bc48b6f4f4173c4ebd6b86aba8e1e67e2fa18f9832e3edbf229baad38
7
- data.tar.gz: 72f1457d53b8bdcf42193a1044ba0d34ac258baca583f3796b8192f4e41d8039cc118db8aaa963d3df9dd4c50a7eba3143bf51d1c37150d719789a9a31edd369
6
+ metadata.gz: 9cc0fc12d58826d6ba256cdf33b02d70360c6a4dbc7a435847f844b8231bf7de0ac3868e2d1541c7636cbb803ab214ee198d50035ab6ecd827907ad29425f546
7
+ data.tar.gz: 8e6ec05195db66ba6cea57236460b7e1035827aa3908bba94a828e07c303e05e5e5975f0d3f1c27e09e1754cb2c5c9dc5068c43b072e1c75b9b48e24d1a265c2
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
1
  source "https://rubygems.org"
2
2
 
3
3
  gemspec
4
+
5
+ gem 'rake', require: false
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Jamespath
1
+ # Jamespath [![Version](https://badge.fury.io/rb/jamespath.png)](http://badge.fury.io/rb/jamespath) [![Build Status](https://travis-ci.org/lsegal/jamespath.png?branch=master)](https://travis-ci.org/lsegal/jamespath)
2
2
 
3
3
  Jamespath is a library that lets you select objects from deeply nested
4
4
  structures, arrays, hashes, or JSON objects using a simple expression
data/Rakefile CHANGED
@@ -1,6 +1,8 @@
1
1
  task :default => :test
2
2
 
3
- desc 'Run all tests'
4
- task :test do
5
- sh "ruby #{FileList['test/**_test.rb'].join(' ')}"
3
+ require 'rake/testtask'
4
+ Rake::TestTask.new do |t|
5
+ t.libs.push 'test'
6
+ t.pattern = 'test/**/*_test.rb'
7
+ t.verbose = true
6
8
  end
@@ -6,10 +6,12 @@ Gem::Specification.new do |spec|
6
6
  spec.summary = 'Implements JMESpath declarative object searching.'
7
7
  spec.description = 'Like XPath, but for JSON and other structured objects.'
8
8
  spec.authors = ['Loren Segal', 'Trevor Rowe']
9
+ spec.email = 'lsegal@soen.ca'
9
10
  spec.homepage = 'http://github.com/lsegal/jamespath'
10
11
  spec.license = 'MIT'
11
12
  spec.files = `git ls-files`.split($/)
12
13
  spec.test_files = spec.files.grep(%r{^test/})
14
+ spec.add_development_dependency('rake', '~> 10.0')
13
15
  spec.add_development_dependency('yard', '~> 0.0')
14
16
  spec.add_development_dependency('rdiscount', '>= 2.1.7', '< 3.0')
15
17
  end
@@ -1,3 +1,3 @@
1
1
  module Jamespath
2
- VERSION = '0.5.0'
2
+ VERSION = '0.5.1'
3
3
  end
@@ -105,7 +105,7 @@ module Jamespath
105
105
  object[key]
106
106
  elsif ArrayGroup === object
107
107
  object = object.map {|o| get_key(o, key) }.compact
108
- object.length > 0 ? ArrayGroup.new(object) : []
108
+ object.length > 0 ? ArrayGroup.new(object) : ArrayGroup.new([])
109
109
  end
110
110
  end
111
111
 
@@ -0,0 +1,44 @@
1
+ {
2
+ "actions": [
3
+ {
4
+ "action": "fs-sedfiles",
5
+ "files": ["lib/*/version.rb"],
6
+ "arguments": {
7
+ "search": "VERSION = ['\"](.+?)['\"]",
8
+ "replace": "VERSION = '$version'"
9
+ }
10
+ },
11
+ {
12
+ "action": "git-commit",
13
+ "files": ["lib/*/version.rb"]
14
+ },
15
+ {
16
+ "action": "git-merge",
17
+ "arguments": {
18
+ "branch": "master"
19
+ }
20
+ },
21
+ {
22
+ "action": "archive-git-full",
23
+ "files": ["git.tgz"],
24
+ "publish": [{
25
+ "action": "git-push",
26
+ "arguments": {
27
+ "remotes": "origin",
28
+ "refs": "master v$version"
29
+ }
30
+ }]
31
+ },
32
+ {
33
+ "action": "gem-build",
34
+ "files": ["*.gemspec"],
35
+ "publish": [
36
+ {
37
+ "action": "gem-push",
38
+ "files": ["*.gem"],
39
+ "credentials": "lsegal.rubygems"
40
+ }
41
+ ]
42
+ }
43
+ ]
44
+ }
@@ -0,0 +1,19 @@
1
+ require 'minitest/autorun'
2
+ require_relative '../lib/jamespath'
3
+
4
+ describe "Compliance testing" do
5
+
6
+ it 'returns an empty array from a failed [] search' do
7
+ data = {
8
+ 'items' => [
9
+ {
10
+ 'nestedItems' => [
11
+ ]
12
+ }
13
+ ]
14
+ }
15
+ r = Jamespath.search('items[].nestedItems[].not.there', data)
16
+ r.must_equal([])
17
+ end
18
+
19
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jamespath
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Loren Segal
@@ -9,49 +9,63 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-11-27 00:00:00.000000000 Z
12
+ date: 2014-09-11 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rake
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '10.0'
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '10.0'
14
28
  - !ruby/object:Gem::Dependency
15
29
  name: yard
16
30
  requirement: !ruby/object:Gem::Requirement
17
31
  requirements:
18
- - - ~>
32
+ - - "~>"
19
33
  - !ruby/object:Gem::Version
20
34
  version: '0.0'
21
35
  type: :development
22
36
  prerelease: false
23
37
  version_requirements: !ruby/object:Gem::Requirement
24
38
  requirements:
25
- - - ~>
39
+ - - "~>"
26
40
  - !ruby/object:Gem::Version
27
41
  version: '0.0'
28
42
  - !ruby/object:Gem::Dependency
29
43
  name: rdiscount
30
44
  requirement: !ruby/object:Gem::Requirement
31
45
  requirements:
32
- - - '>='
46
+ - - ">="
33
47
  - !ruby/object:Gem::Version
34
48
  version: 2.1.7
35
- - - <
49
+ - - "<"
36
50
  - !ruby/object:Gem::Version
37
51
  version: '3.0'
38
52
  type: :development
39
53
  prerelease: false
40
54
  version_requirements: !ruby/object:Gem::Requirement
41
55
  requirements:
42
- - - '>='
56
+ - - ">="
43
57
  - !ruby/object:Gem::Version
44
58
  version: 2.1.7
45
- - - <
59
+ - - "<"
46
60
  - !ruby/object:Gem::Version
47
61
  version: '3.0'
48
62
  description: Like XPath, but for JSON and other structured objects.
49
- email:
63
+ email: lsegal@soen.ca
50
64
  executables: []
51
65
  extensions: []
52
66
  extra_rdoc_files: []
53
67
  files:
54
- - .gitignore
68
+ - ".gitignore"
55
69
  - Gemfile
56
70
  - LICENSE
57
71
  - README.md
@@ -62,6 +76,8 @@ files:
62
76
  - lib/jamespath/tokenizer.rb
63
77
  - lib/jamespath/version.rb
64
78
  - lib/jamespath/vm.rb
79
+ - samus.json
80
+ - test/array_test.rb
65
81
  - test/compliance/basic.json
66
82
  - test/compliance/escape.json
67
83
  - test/compliance/indices.json
@@ -81,21 +97,22 @@ require_paths:
81
97
  - lib
82
98
  required_ruby_version: !ruby/object:Gem::Requirement
83
99
  requirements:
84
- - - '>='
100
+ - - ">="
85
101
  - !ruby/object:Gem::Version
86
102
  version: '0'
87
103
  required_rubygems_version: !ruby/object:Gem::Requirement
88
104
  requirements:
89
- - - '>='
105
+ - - ">="
90
106
  - !ruby/object:Gem::Version
91
107
  version: '0'
92
108
  requirements: []
93
109
  rubyforge_project:
94
- rubygems_version: 2.0.3
110
+ rubygems_version: 2.2.2
95
111
  signing_key:
96
112
  specification_version: 4
97
113
  summary: Implements JMESpath declarative object searching.
98
114
  test_files:
115
+ - test/array_test.rb
99
116
  - test/compliance/basic.json
100
117
  - test/compliance/escape.json
101
118
  - test/compliance/indices.json