class EasySerializer::Cacher

Attributes

metadata[R]
serializer[R]

Public Class Methods

new(serializer, metadata) click to toggle source
# File lib/easy_serializer/cacher.rb, line 4
def initialize(serializer, metadata)
  @serializer = serializer
  @metadata = metadata
end

Public Instance Methods

execute() click to toggle source
# File lib/easy_serializer/cacher.rb, line 9
def execute
  CacheOutput.new(_execute)
end

Private Instance Methods

_execute() click to toggle source
# File lib/easy_serializer/cacher.rb, line 15
def _execute
  strategy = if metadata.is_a?(EasySerializer::Collection)
               Collection
             elsif metadata.serializer?
               Serializer
             else
               Method
             end
  strategy.call(serializer, metadata)
end