as_json_presentable 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/as_json_presentable.rb +3 -0
- data/lib/as_json_presentable/presenter.rb +8 -6
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 317096c0908e558bf1df60f27bf0d94a32a481f5
|
4
|
+
data.tar.gz: 6c3664ff520d250565fef917c28da5cd20cec403
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4278f9bd2ca59e91de66eb7733bba9ed8f18810860e387567556d4f8468d08ec5486053de22aed44ee3a9707028b002301ee4f8d25964790143cd79d9bebb00f
|
7
|
+
data.tar.gz: 3de0ee3c072a37deef8d6837fadf947327426cca2048d7c3be5f4722c04c445465824b39d5760ebe294683396c0d01c97b1053649bda6f3a47597c4584c36991
|
data/lib/as_json_presentable.rb
CHANGED
@@ -24,17 +24,19 @@ module AsJsonPresentable
|
|
24
24
|
def as_json(options=nil)
|
25
25
|
presenter_action = (options || {}).delete(:presenter_action)
|
26
26
|
|
27
|
-
if
|
27
|
+
if presenter_action.nil?
|
28
|
+
resource.as_json(options)
|
29
|
+
elsif has_presenter_method?(presenter_action)
|
28
30
|
send(presenter_method(presenter_action), options)
|
29
31
|
else
|
30
|
-
|
32
|
+
raise InvalidPresenterAction.new("Unable to present JSON using action '#{presenter_action}'")
|
31
33
|
end
|
32
34
|
end
|
33
35
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
36
|
+
# return object errors
|
37
|
+
def as_error_json(options=nil)
|
38
|
+
{ errors: resource.errors }
|
39
|
+
end
|
38
40
|
|
39
41
|
private
|
40
42
|
|