jbuilder 2.6.2 → 2.6.3
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 +4 -4
- data/.travis.yml +11 -0
- data/Appraisals +6 -0
- data/CHANGELOG.md +5 -0
- data/gemfiles/rails_5_1.gemfile +13 -0
- data/jbuilder.gemspec +4 -4
- data/lib/jbuilder.rb +5 -5
- data/lib/jbuilder/errors.rb +7 -0
- data/test/jbuilder_test.rb +27 -0
- metadata +5 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1fceb6a04cc18c49f17915a51c83bca202c7ab76
|
|
4
|
+
data.tar.gz: 73e81db0ff0a9b97c9f4a46a87d96c369743b5d5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e92b20eab5ff8230db42f7d0b205807fcae78fd3d084f40a9b6242bff1a737f65f914ad57b7086e808c742f552d9a9d9f6f38e5372bb2d7b28ec0a81486d15ef
|
|
7
|
+
data.tar.gz: 0ce214cdf9671b2a43b565ead95d1a9ac18c5c8ae2af1a851382e9b65c3cef03088eea89753a4b8d760f5beb18ec2cdec8636c67ae5e18ca12eccf619ddc68a4
|
data/.travis.yml
CHANGED
|
@@ -22,6 +22,7 @@ gemfile:
|
|
|
22
22
|
- gemfiles/rails_4_1.gemfile
|
|
23
23
|
- gemfiles/rails_4_2.gemfile
|
|
24
24
|
- gemfiles/rails_5_0.gemfile
|
|
25
|
+
- gemfiles/rails_5_1.gemfile
|
|
25
26
|
|
|
26
27
|
matrix:
|
|
27
28
|
allow_failures:
|
|
@@ -32,14 +33,24 @@ matrix:
|
|
|
32
33
|
exclude:
|
|
33
34
|
- rvm: 1.9
|
|
34
35
|
gemfile: gemfiles/rails_5_0.gemfile
|
|
36
|
+
- rvm: 1.9
|
|
37
|
+
gemfile: gemfiles/rails_5_1.gemfile
|
|
35
38
|
- rvm: 2.0
|
|
36
39
|
gemfile: gemfiles/rails_5_0.gemfile
|
|
40
|
+
- rvm: 2.0
|
|
41
|
+
gemfile: gemfiles/rails_5_1.gemfile
|
|
37
42
|
- rvm: 2.1
|
|
38
43
|
gemfile: gemfiles/rails_5_0.gemfile
|
|
44
|
+
- rvm: 2.1
|
|
45
|
+
gemfile: gemfiles/rails_5_1.gemfile
|
|
39
46
|
- rvm: jruby-19mode
|
|
40
47
|
gemfile: gemfiles/rails_5_0.gemfile
|
|
48
|
+
- rvm: jruby-19mode
|
|
49
|
+
gemfile: gemfiles/rails_5_1.gemfile
|
|
41
50
|
- rvm: rbx
|
|
42
51
|
gemfile: gemfiles/rails_5_0.gemfile
|
|
52
|
+
- rvm: rbx
|
|
53
|
+
gemfile: gemfiles/rails_5_1.gemfile
|
|
43
54
|
- rvm: 2.4.0
|
|
44
55
|
gemfile: gemfiles/rails_3_0.gemfile
|
|
45
56
|
- rvm: 2.4.0
|
data/Appraisals
CHANGED
|
@@ -42,3 +42,9 @@ appraise "rails-5-0" do
|
|
|
42
42
|
gem "actionpack", "~> 5.0.0"
|
|
43
43
|
gem "activemodel", "~> 5.0.0"
|
|
44
44
|
end
|
|
45
|
+
|
|
46
|
+
appraise "rails-5-1" do
|
|
47
|
+
gem "railties", ">= 5.1.0.beta1", "< 5.2"
|
|
48
|
+
gem "actionpack", ">= 5.1.0.beta1", "< 5.2"
|
|
49
|
+
gem "activemodel", ">= 5.1.0.beta1", "< 5.2"
|
|
50
|
+
end
|
data/CHANGELOG.md
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# This file was generated by Appraisal
|
|
2
|
+
|
|
3
|
+
source "https://rubygems.org"
|
|
4
|
+
|
|
5
|
+
gem "rake"
|
|
6
|
+
gem "mocha", :require => false
|
|
7
|
+
gem "appraisal"
|
|
8
|
+
gem "pry"
|
|
9
|
+
gem "railties", ">= 5.1.0.beta1", "< 5.2"
|
|
10
|
+
gem "actionpack", ">= 5.1.0.beta1", "< 5.2"
|
|
11
|
+
gem "activemodel", ">= 5.1.0.beta1", "< 5.2"
|
|
12
|
+
|
|
13
|
+
gemspec :path => "../"
|
data/jbuilder.gemspec
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = 'jbuilder'
|
|
3
|
-
s.version = '2.6.
|
|
4
|
-
s.authors = ['David Heinemeier Hansson'
|
|
5
|
-
s.email = ['david@37signals.com'
|
|
3
|
+
s.version = '2.6.3'
|
|
4
|
+
s.authors = ['David Heinemeier Hansson']
|
|
5
|
+
s.email = ['david@37signals.com']
|
|
6
6
|
s.summary = 'Create JSON structures via a Builder-style DSL'
|
|
7
7
|
s.homepage = 'https://github.com/rails/jbuilder'
|
|
8
8
|
s.license = 'MIT'
|
|
9
9
|
|
|
10
10
|
s.required_ruby_version = '>= 1.9.3'
|
|
11
11
|
|
|
12
|
-
s.add_dependency 'activesupport', '>= 3.0.0', '< 5.
|
|
12
|
+
s.add_dependency 'activesupport', '>= 3.0.0', '< 5.2'
|
|
13
13
|
s.add_dependency 'multi_json', '~> 1.2'
|
|
14
14
|
|
|
15
15
|
s.files = `git ls-files`.split("\n")
|
data/lib/jbuilder.rb
CHANGED
|
@@ -270,14 +270,14 @@ class Jbuilder
|
|
|
270
270
|
def _merge_values(current_value, updates)
|
|
271
271
|
if _blank?(updates)
|
|
272
272
|
current_value
|
|
273
|
-
elsif _blank?(current_value) || updates.nil?
|
|
273
|
+
elsif _blank?(current_value) || updates.nil? || current_value.empty? && ::Array === updates
|
|
274
274
|
updates
|
|
275
|
-
elsif ::Array === updates
|
|
276
|
-
|
|
277
|
-
elsif ::Hash === current_value
|
|
275
|
+
elsif ::Array === current_value && ::Array === updates
|
|
276
|
+
current_value + updates
|
|
277
|
+
elsif ::Hash === current_value && ::Hash === updates
|
|
278
278
|
current_value.merge(updates)
|
|
279
279
|
else
|
|
280
|
-
raise
|
|
280
|
+
raise MergeError.build(current_value, updates)
|
|
281
281
|
end
|
|
282
282
|
end
|
|
283
283
|
|
data/lib/jbuilder/errors.rb
CHANGED
data/test/jbuilder_test.rb
CHANGED
|
@@ -686,4 +686,31 @@ class JbuilderTest < ActiveSupport::TestCase
|
|
|
686
686
|
end
|
|
687
687
|
end
|
|
688
688
|
end
|
|
689
|
+
|
|
690
|
+
test "throws MergeError when trying to merge array with non-empty hash" do
|
|
691
|
+
assert_raise Jbuilder::MergeError do
|
|
692
|
+
jbuild do |json|
|
|
693
|
+
json.name "Daniel"
|
|
694
|
+
json.merge! []
|
|
695
|
+
end
|
|
696
|
+
end
|
|
697
|
+
end
|
|
698
|
+
|
|
699
|
+
test "throws MergeError when trying to merge hash with array" do
|
|
700
|
+
assert_raise Jbuilder::MergeError do
|
|
701
|
+
jbuild do |json|
|
|
702
|
+
json.array!
|
|
703
|
+
json.merge!({})
|
|
704
|
+
end
|
|
705
|
+
end
|
|
706
|
+
end
|
|
707
|
+
|
|
708
|
+
test "throws MergeError when trying to merge invalid objects" do
|
|
709
|
+
assert_raise Jbuilder::MergeError do
|
|
710
|
+
jbuild do |json|
|
|
711
|
+
json.name "Daniel"
|
|
712
|
+
json.merge! "Nope"
|
|
713
|
+
end
|
|
714
|
+
end
|
|
715
|
+
end
|
|
689
716
|
end
|
metadata
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jbuilder
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.6.
|
|
4
|
+
version: 2.6.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- David Heinemeier Hansson
|
|
8
|
-
- Pavel Pravosud
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date: 2017-02-
|
|
11
|
+
date: 2017-02-24 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: activesupport
|
|
@@ -20,7 +19,7 @@ dependencies:
|
|
|
20
19
|
version: 3.0.0
|
|
21
20
|
- - "<"
|
|
22
21
|
- !ruby/object:Gem::Version
|
|
23
|
-
version: '5.
|
|
22
|
+
version: '5.2'
|
|
24
23
|
type: :runtime
|
|
25
24
|
prerelease: false
|
|
26
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -30,7 +29,7 @@ dependencies:
|
|
|
30
29
|
version: 3.0.0
|
|
31
30
|
- - "<"
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '5.
|
|
32
|
+
version: '5.2'
|
|
34
33
|
- !ruby/object:Gem::Dependency
|
|
35
34
|
name: multi_json
|
|
36
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -48,7 +47,6 @@ dependencies:
|
|
|
48
47
|
description:
|
|
49
48
|
email:
|
|
50
49
|
- david@37signals.com
|
|
51
|
-
- pavel@pravosud.com
|
|
52
50
|
executables: []
|
|
53
51
|
extensions: []
|
|
54
52
|
extra_rdoc_files: []
|
|
@@ -69,6 +67,7 @@ files:
|
|
|
69
67
|
- gemfiles/rails_4_1.gemfile
|
|
70
68
|
- gemfiles/rails_4_2.gemfile
|
|
71
69
|
- gemfiles/rails_5_0.gemfile
|
|
70
|
+
- gemfiles/rails_5_1.gemfile
|
|
72
71
|
- jbuilder.gemspec
|
|
73
72
|
- lib/generators/rails/jbuilder_generator.rb
|
|
74
73
|
- lib/generators/rails/scaffold_controller_generator.rb
|