Skip to content

Commit ffda6e6

Browse files
committed
Cache Entity @nested_exposures
- Was being rebuilt over and over again. Performance improvement of about 25%.
1 parent 424c043 commit ffda6e6

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

lib/grape_entity/entity.rb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,13 +194,15 @@ def nested_exposures_hash
194194
end
195195

196196
def nested_exposures
197-
value = nested_exposures_hash
197+
return @nested_exposures unless @nested_exposures.nil?
198+
199+
@nested_exposures = {}.merge(nested_exposures_hash)
198200

199201
if superclass.respond_to? :nested_exposures
200-
value = superclass.nested_exposures.deep_merge(value)
202+
@nested_exposures = superclass.nested_exposures.deep_merge(@nested_exposures)
201203
end
202204

203-
value
205+
@nested_exposures
204206
end
205207
end
206208

0 commit comments

Comments
 (0)