jbuilder 2.2.7 → 2.2.8

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: e99a9ab21f1d52d88b6de5b930ca5bd8a504948f
4
- data.tar.gz: 8cd28fb1bd10fd3d22ef5a5455c0b7855f4d0e0c
3
+ metadata.gz: c6fff76c0587398f3f158d2263ddb193fd0781fe
4
+ data.tar.gz: 3c1f56012c79d825f11fda61fcfd9bdaa61abdd4
5
5
  SHA512:
6
- metadata.gz: b1364a2ff7640fc119b93e410877fb6979d28306176bb894f4511c05671ef79c2288829959d1c12960b9fe63662eb8606a9588452867fbedab42904408200317
7
- data.tar.gz: 53dd379414c1c9c66caa31a43555d05904922bb32e661ac440530549bb32bce282eea873e85c691330f30f42715113a2295f2ab3dd48a99792d8fcc8e1a47baa
6
+ metadata.gz: 8965ab307c6d4f8a0e1f5ad3774273bc0954e82603db9951fcb48ccddffef5ccf0cc90955f2827cd778d951d2f8d76c4fe0ab2e0c9a36c86d3ae6aa2fa42d81d
7
+ data.tar.gz: bea36a97b8097ca854c8b9d07a463d1d4dd03d89799d995dcc4909c9f458cd57bb85406820d69f7311b8902e24aa530e16d2abd63a1bc265ba16d7f65257ceab
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ 2.2.8
4
+ -----
5
+ * [Raise ArrayError when trying to add key to an array](https://github.com/rails/jbuilder/commit/869e4be1ad165ce986d8fca78311bdd3ed166087)
6
+
3
7
  2.2.7
4
8
  -----
5
9
  * [Make Blank object serializable with Marshal](https://github.com/rails/jbuilder/commit/7083f28d8b665aa60d0d1b1927ae88bb5c6290ba)
data/jbuilder.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'jbuilder'
3
- s.version = '2.2.7'
3
+ s.version = '2.2.8'
4
4
  s.authors = ['David Heinemeier Hansson', 'Pavel Pravosud']
5
5
  s.email = ['david@37signals.com', 'pavel@pravosud.com']
6
6
  s.summary = 'Create JSON structures via a Builder-style DSL'
data/lib/jbuilder.rb CHANGED
@@ -274,20 +274,16 @@ class Jbuilder
274
274
  end
275
275
  end
276
276
 
277
- def _write(key, value)
278
- @attributes = {} if _blank?
279
- @attributes[_key(key)] = value
280
- end
281
-
282
277
  def _key(key)
283
278
  @key_formatter.format(key)
284
279
  end
285
280
 
286
281
  def _set_value(key, value)
287
282
  raise NullError.build(key) if @attributes.nil?
288
- return if @ignore_nil && value.nil?
289
- return if _blank?(value)
290
- _write key, value
283
+ raise ArrayError.build(key) if ::Array === @attributes
284
+ return if @ignore_nil && value.nil? or _blank?(value)
285
+ @attributes = {} if _blank?
286
+ @attributes[_key(key)] = value
291
287
  end
292
288
 
293
289
  def _map_collection(collection)
@@ -7,4 +7,11 @@ class Jbuilder
7
7
  new(message)
8
8
  end
9
9
  end
10
+
11
+ class ArrayError < ::StandardError
12
+ def self.build(key)
13
+ message = "Failed to add #{key.to_s.inspect} property to an array"
14
+ new(message)
15
+ end
16
+ end
10
17
  end
@@ -645,11 +645,21 @@ class JbuilderTest < ActiveSupport::TestCase
645
645
  assert_nil result['author']
646
646
  end
647
647
 
648
+ test 'throws ArrayError when trying to add a key to an array' do
649
+ assert_raise Jbuilder::ArrayError do
650
+ jbuild do |json|
651
+ json.array! %w[foo bar]
652
+ json.fizz "buzz"
653
+ end
654
+ end
655
+ end
656
+
648
657
  test 'throws NullError when trying to add properties to null' do
649
- json = Jbuilder.new
650
- json.null!
651
658
  assert_raise Jbuilder::NullError do
652
- json.foo 'bar'
659
+ jbuild do |json|
660
+ json.null!
661
+ json.foo 'bar'
662
+ end
653
663
  end
654
664
  end
655
665
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jbuilder
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.7
4
+ version: 2.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-02-15 00:00:00.000000000 Z
12
+ date: 2015-02-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport