cerulean 0.11.1 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cerulean.rb +9 -5
- 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: 467b5c285e4662a969f2e165030aaf74adad6653
|
4
|
+
data.tar.gz: 2a97a0f4bb5bb68d3c2e855c780a8cf15812a534
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 62d8dff7f6e662b24d581c30837a453d68f09e34af38b75e972070f714c3a3015b2512099c36e4287a7033b811431ef99f68c2d037e9a4d49c4a3fd5403da9fe
|
7
|
+
data.tar.gz: 762d1ec824d4a595c89ef585dd86b6bf1cf145c1667c014526c4e42836e4ec8a15d5122b19faa72943e30e32599318b18fbba90ffa772de0907cb6ea412ef84d
|
data/lib/cerulean.rb
CHANGED
@@ -77,22 +77,26 @@ module Cerulean
|
|
77
77
|
@declared ||= {} #Hashie::Mash.new(params)
|
78
78
|
end
|
79
79
|
|
80
|
-
def
|
80
|
+
def render_presenter(object, **opts)
|
81
81
|
if object.is_a?(Array) || object.is_a?(ActiveRecord::Relation)
|
82
82
|
if opts.any?
|
83
|
-
|
83
|
+
object.map { |el| meta[:presenter].new(el).as_json(**opts) }
|
84
84
|
else
|
85
|
-
|
85
|
+
object.map { |el| meta[:presenter].new(el).as_json() }
|
86
86
|
end
|
87
87
|
else
|
88
88
|
if opts.any?
|
89
|
-
|
89
|
+
meta[:presenter].new(object).as_json(**opts)
|
90
90
|
else
|
91
|
-
|
91
|
+
meta[:presenter].new(object).as_json()
|
92
92
|
end
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
|
+
def present(object, **opts)
|
97
|
+
render json: render_presenter(object, **opts)
|
98
|
+
end
|
99
|
+
|
96
100
|
def meta
|
97
101
|
@meta ||= self.class.class_variable_get(:@@meta)[action_name.to_sym]
|
98
102
|
end
|