class Oat::Adapter
Attributes
data[R]
serializer[R]
Public Class Methods
new(serializer)
click to toggle source
# File lib/oat/adapter.rb, line 5 def initialize(serializer) @serializer = serializer @data = Hash.new{|h,k| h[k] = {}} end
Public Instance Methods
to_hash()
click to toggle source
# File lib/oat/adapter.rb, line 10 def to_hash data end
Protected Instance Methods
serializer_from_block_or_class(obj, serializer_class = nil, context_options = {}, &block)
click to toggle source
# File lib/oat/adapter.rb, line 24 def serializer_from_block_or_class(obj, serializer_class = nil, context_options = {}, &block) return nil if obj.nil? if block_given? serializer_class = Class.new(serializer.class) serializer_class.schemas = [] serializer_class.schema_methods = [] serializer_class.adapter self.class s = serializer_class.new(obj, serializer.context.merge(context_options), serializer.adapter_class, serializer.top) serializer.instance_exec(obj, s, &block) s else serializer_class.new(obj, serializer.context.merge(context_options), serializer.adapter_class, serializer.top) end end
yield_props(&block)
click to toggle source
# File lib/oat/adapter.rb, line 18 def yield_props(&block) props = Props.new serializer.instance_exec(props, &block) props.to_hash end