json_spec 1.0.0 → 1.0.2

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/.gitignore CHANGED
@@ -2,4 +2,5 @@
2
2
  .bundle
3
3
  .rvmrc
4
4
  Gemfile.lock
5
+ gemfiles/*.lock
5
6
  pkg/*
data/.travis.yml CHANGED
@@ -1,7 +1,9 @@
1
+ language: ruby
2
+ branches: master
1
3
  rvm:
2
4
  - 1.9.2
3
5
  - 1.9.3
4
6
  - ruby-head
5
- notifications:
6
- email:
7
- - steve.richert@gmail.com
7
+ gemfile:
8
+ - gemfiles/multi_json_1_0.gemfile
9
+ - gemfiles/multi_json_1_3.gemfile
data/Appraisals ADDED
@@ -0,0 +1,7 @@
1
+ appraise "multi_json_1_0" do
2
+ gem "multi_json", "~> 1.0", "< 1.3"
3
+ end
4
+
5
+ appraise "multi_json_1_3" do
6
+ gem "multi_json", "~> 1.3"
7
+ end
data/Rakefile CHANGED
@@ -1,6 +1,7 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
3
  require "cucumber/rake/task"
4
+ require "appraisal"
4
5
 
5
6
  RSpec::Core::RakeTask.new(:spec)
6
7
  Cucumber::Rake::Task.new(:cucumber)
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "multi_json", "~> 1.0", "< 1.3"
6
+
7
+ gemspec :path=>"../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "multi_json", "~> 1.3"
6
+
7
+ gemspec :path=>"../"
data/json_spec.gemspec CHANGED
@@ -2,21 +2,22 @@
2
2
 
3
3
  Gem::Specification.new do |gem|
4
4
  gem.name = "json_spec"
5
- gem.version = "1.0.0"
5
+ gem.version = "1.0.2"
6
6
 
7
7
  gem.authors = ["Steve Richert"]
8
8
  gem.email = ["steve.richert@gmail.com"]
9
9
  gem.summary = "Easily handle JSON in RSpec and Cucumber"
10
- gem.description = "Easily handle JSON in RSpec and Cucumber"
10
+ gem.description = gem.summary
11
11
  gem.homepage = "https://github.com/collectiveidea/json_spec"
12
12
 
13
13
  gem.add_dependency "multi_json", "~> 1.0"
14
- gem.add_dependency "rspec", "~> 2.0"
14
+ gem.add_dependency "rspec", "~> 2.0"
15
15
 
16
+ gem.add_development_dependency "appraisal", "~> 0.4"
16
17
  gem.add_development_dependency "cucumber", "~> 1.1", ">= 1.1.1"
17
- gem.add_development_dependency "rake", "~> 0.9"
18
+ gem.add_development_dependency "rake", "~> 0.9"
18
19
 
19
- gem.files = `git ls-files`.split("\n")
20
- gem.test_files = `git ls-files -- {spec,features}/*`.split("\n")
20
+ gem.files = `git ls-files`.split($\)
21
+ gem.test_files = gem.files.grep(/^(spec|features)\//)
21
22
  gem.require_paths = ["lib"]
22
23
  end
@@ -5,10 +5,10 @@ module JsonSpec
5
5
  extend self
6
6
 
7
7
  def parse_json(json, path = nil)
8
- ruby = MultiJson.decode(%([#{json}])).first
8
+ ruby = multi_json_load("[#{json}]").first
9
9
  value_at_json_path(ruby, path)
10
10
  rescue MultiJson::DecodeError
11
- MultiJson.decode(json)
11
+ multi_json_load(json)
12
12
  end
13
13
 
14
14
  def normalize_json(json, path = nil)
@@ -31,6 +31,10 @@ module JsonSpec
31
31
  end
32
32
 
33
33
  private
34
+ def multi_json_load(json)
35
+ MultiJson.respond_to?(:load) ? MultiJson.load(json) : MultiJson.decode(json)
36
+ end
37
+
34
38
  def value_at_json_path(ruby, path)
35
39
  return ruby unless path
36
40
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json_spec
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.2
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-25 00:00:00.000000000 Z
12
+ date: 2012-04-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: multi_json
16
- requirement: &70250788493820 !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: '1.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70250788493820
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '1.0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rspec
27
- requirement: &70250788493280 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ~>
@@ -32,10 +37,31 @@ dependencies:
32
37
  version: '2.0'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70250788493280
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '2.0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: appraisal
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '0.4'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '0.4'
36
62
  - !ruby/object:Gem::Dependency
37
63
  name: cucumber
38
- requirement: &70250788492700 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
39
65
  none: false
40
66
  requirements:
41
67
  - - ~>
@@ -46,10 +72,18 @@ dependencies:
46
72
  version: 1.1.1
47
73
  type: :development
48
74
  prerelease: false
49
- version_requirements: *70250788492700
75
+ version_requirements: !ruby/object:Gem::Requirement
76
+ none: false
77
+ requirements:
78
+ - - ~>
79
+ - !ruby/object:Gem::Version
80
+ version: '1.1'
81
+ - - ! '>='
82
+ - !ruby/object:Gem::Version
83
+ version: 1.1.1
50
84
  - !ruby/object:Gem::Dependency
51
85
  name: rake
52
- requirement: &70250788491820 !ruby/object:Gem::Requirement
86
+ requirement: !ruby/object:Gem::Requirement
53
87
  none: false
54
88
  requirements:
55
89
  - - ~>
@@ -57,7 +91,12 @@ dependencies:
57
91
  version: '0.9'
58
92
  type: :development
59
93
  prerelease: false
60
- version_requirements: *70250788491820
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ~>
98
+ - !ruby/object:Gem::Version
99
+ version: '0.9'
61
100
  description: Easily handle JSON in RSpec and Cucumber
62
101
  email:
63
102
  - steve.richert@gmail.com
@@ -67,6 +106,7 @@ extra_rdoc_files: []
67
106
  files:
68
107
  - .gitignore
69
108
  - .travis.yml
109
+ - Appraisals
70
110
  - Gemfile
71
111
  - LICENSE
72
112
  - README.md
@@ -80,6 +120,8 @@ files:
80
120
  - features/step_definitions/steps.rb
81
121
  - features/support/env.rb
82
122
  - features/types.feature
123
+ - gemfiles/multi_json_1_0.gemfile
124
+ - gemfiles/multi_json_1_3.gemfile
83
125
  - json_spec.gemspec
84
126
  - lib/json_spec.rb
85
127
  - lib/json_spec/configuration.rb
@@ -131,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
173
  version: '0'
132
174
  requirements: []
133
175
  rubyforge_project:
134
- rubygems_version: 1.8.17
176
+ rubygems_version: 1.8.21
135
177
  signing_key:
136
178
  specification_version: 3
137
179
  summary: Easily handle JSON in RSpec and Cucumber