class AmsHal::Embed
Attributes
name[R]
object[R]
options[R]
scope[R]
serializer[R]
Public Class Methods
new(serializer, name, options = {}, &block)
click to toggle source
# File lib/ams_hal/embed.rb, line 9 def initialize(serializer, name, options = {}, &block) @serializer = serializer @name = name @options = options @block = block end
Public Instance Methods
resource_for(serializer)
click to toggle source
# File lib/ams_hal/embed.rb, line 16 def resource_for(serializer) @object = serializer.object @scope = serializer.scope @self_before_instance_eval = nil # Use the return value of the block unless it is nil. if @block @self_before_instance_eval = eval "self", @block.binding @resource = instance_eval(&@block) else @resource = @object.public_send(name) end end
Protected Instance Methods
method_missing(method, *args, &block)
click to toggle source
Calls superclass method
# File lib/ams_hal/embed.rb, line 32 def method_missing(method, *args, &block) return super unless @self_before_instance_eval @self_before_instance_eval.send method, *args, &block end