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 +4 -4
- data/CHANGELOG.md +4 -0
- data/jbuilder.gemspec +1 -1
- data/lib/jbuilder.rb +4 -8
- data/lib/jbuilder/errors.rb +7 -0
- data/test/jbuilder_test.rb +13 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6fff76c0587398f3f158d2263ddb193fd0781fe
|
4
|
+
data.tar.gz: 3c1f56012c79d825f11fda61fcfd9bdaa61abdd4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
|
-
|
289
|
-
return if _blank?(value)
|
290
|
-
|
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)
|
data/lib/jbuilder/errors.rb
CHANGED
data/test/jbuilder_test.rb
CHANGED
@@ -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
|
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.
|
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-
|
12
|
+
date: 2015-02-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|