class Pakyow::Data::Result

Attributes

__proxy[R]

@api private

Public Class Methods

new(result, proxy, originating_method: nil, originating_args: []) click to toggle source
# File lib/pakyow/data/result.rb, line 11
def initialize(result, proxy, originating_method: nil, originating_args: [])
  @__proxy = proxy
  @originating_method = originating_method
  @originating_args = originating_args
  __setobj__(result)
end

Public Instance Methods

marshal_dump() click to toggle source
# File lib/pakyow/data/result.rb, line 22
def marshal_dump
  {
    proxy: {
      app: @__proxy.app,
      source: @__proxy.source.source_name,
      proxied_calls: @__proxy.proxied_calls
    },

    originating_method: @originating_method,
    originating_args: @originating_args
  }
end
marshal_load(state) click to toggle source
# File lib/pakyow/data/result.rb, line 35
def marshal_load(state)
  result = state[:proxy][:app].data.public_send(
    state[:proxy][:source]
  ).apply(
    state[:proxy][:proxied_calls]
  )

  if state[:originating_method]
    result = result.public_send(state[:originating_method], *state[:originating_args])
  end

  __setobj__(result)
end
nil?() click to toggle source
# File lib/pakyow/data/result.rb, line 18
def nil?
  __getobj__.nil?
end
pp(*args) click to toggle source

Fixes an issue using pp inside a delegator.

# File lib/pakyow/data/result.rb, line 51
def pp(*args)
  Kernel.pp(*args)
end