class Turnkey::Utility
Public Class Methods
defineProtocols(instance)
click to toggle source
def self.defineProtocols(instance)
return if instance.respondsToSelector("encodeWithCoder:") && instance.respondsToSelector("initWithCoder:") instance.class.class_eval { include Turnkey::Proxy }
end
def self.extend_protocols_to_object_references(instance)
instance.instance_variables.each do |prop| value = instance.send(reader_sig_for(prop)) defineProtocols(value) end
end
# File lib/turnkey/utility.rb, line 20 def self.defineProtocols(instance) return if alreadyDefined?(instance) includeCoderProtocols(instance) instance.instance_variables.each do |prop| ref = instance.send(reader_sig_for(prop)) defineProtocols(ref) end end
Private Class Methods
alreadyDefined?(instance)
click to toggle source
# File lib/turnkey/utility.rb, line 33 def self.alreadyDefined?(instance) instance.respondsToSelector("encodeWithCoder:") && instance.respondsToSelector("initWithCoder:") end
includeCoderProtocols(instance)
click to toggle source
# File lib/turnkey/utility.rb, line 37 def self.includeCoderProtocols(instance) instance.class.class_eval { include Turnkey::Proxy } end