class Footing::Object
Attributes
copied_object[R]
original_object[R]
Public Class Methods
match?(o)
click to toggle source
# File lib/footing/object.rb, line 10 def match?(o) o.class.ancestors.map(&:name).include?(target_name) end
new(o)
click to toggle source
Calls superclass method
# File lib/footing/object.rb, line 14 def new(o) return o if o.is_a?(self) super end
new(o)
click to toggle source
# File lib/footing/object.rb, line 20 def initialize(o) raise ArgumentError.new("Types must match") unless self.class.match?(o) @original_object = o @copied_object = o.dup end
target_name()
click to toggle source
# File lib/footing/object.rb, line 6 def target_name self.name.gsub(/\AFooting::/, "") end
Public Instance Methods
method_missing(name, *args)
click to toggle source
Calls superclass method
# File lib/footing/object.rb, line 26 def method_missing(name, *args) if copied_object.respond_to?(name) return copied_object.send name, *args end super end
respond_to?(name)
click to toggle source
Calls superclass method
# File lib/footing/object.rb, line 34 def respond_to?(name) return true if copied_object.respond_to?(name) super end