module Gamefic::Scriptable::Proxies

Methods for referencing entities from proxies.

Public Instance Methods

unproxy(object) click to toggle source

Convert a proxy into its referenced entity.

This method can receive any kind of object. If it’s a proxy, its entity will be returned. If it’s an array, each of its elements will be unproxied. If it’s a hash, each of its values will be unproxied. Any other object will be returned unchanged.

@param object [Object] @return [Object]

# File lib/gamefic/scriptable/proxies.rb, line 17
def unproxy object
  case object
  when Proxy, Proxy::Base
    object.fetch self
  when Array
    object.map { |obj| unproxy obj }
  when Hash
    object.transform_values { |val| unproxy val }
  else
    object
  end
end