jbuilder 2.6.2 → 2.6.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 480dacfaafb41be4517c97fe4feaac06ca419a0a
4
- data.tar.gz: 743ad605818ab2e8c7d1fe9656ce417f6ac19db6
3
+ metadata.gz: 1fceb6a04cc18c49f17915a51c83bca202c7ab76
4
+ data.tar.gz: 73e81db0ff0a9b97c9f4a46a87d96c369743b5d5
5
5
  SHA512:
6
- metadata.gz: d87af4a001cd83a919991616c7f5ed825ec84c80a2552c1b7e135b154f758ba62155acc343b0ff6a4fe97ce670f46f093468a86a84335679afeff319d0ecc278
7
- data.tar.gz: 7156d387cd06d96bde5ae5f0fe1768eb283868e4e964a88c1b138357ddfeda1b51ca1eecba7f2bde75bbf157773c02fa117f722ee3a4bdb0281ecd054ff441e1
6
+ metadata.gz: e92b20eab5ff8230db42f7d0b205807fcae78fd3d084f40a9b6242bff1a737f65f914ad57b7086e808c742f552d9a9d9f6f38e5372bb2d7b28ec0a81486d15ef
7
+ data.tar.gz: 0ce214cdf9671b2a43b565ead95d1a9ac18c5c8ae2af1a851382e9b65c3cef03088eea89753a4b8d760f5beb18ec2cdec8636c67ae5e18ca12eccf619ddc68a4
@@ -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
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ 2.6.3
4
+ -----
5
+
6
+ * Support Rails 5.1
7
+
3
8
  2.6.2
4
9
  -----
5
10
 
@@ -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 => "../"
@@ -1,15 +1,15 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'jbuilder'
3
- s.version = '2.6.2'
4
- s.authors = ['David Heinemeier Hansson', 'Pavel Pravosud']
5
- s.email = ['david@37signals.com', 'pavel@pravosud.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.1'
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")
@@ -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
- ::Array === current_value ? current_value + updates : updates
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 "Can't merge #{updates.inspect} with #{current_value.inspect}"
280
+ raise MergeError.build(current_value, updates)
281
281
  end
282
282
  end
283
283
 
@@ -14,4 +14,11 @@ class Jbuilder
14
14
  new(message)
15
15
  end
16
16
  end
17
+
18
+ class MergeError < ::StandardError
19
+ def self.build(current_value, updates)
20
+ message = "Can't merge #{updates.inspect} into #{current_value.inspect}"
21
+ new(message)
22
+ end
23
+ end
17
24
  end
@@ -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.2
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-22 00:00:00.000000000 Z
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.1'
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.1'
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