Class: Turnkey::Utility

Inherits:
Object
  • Object
show all
Extended by:
Sanitizers
Defined in:
lib/turnkey/utility.rb

Class Method Summary collapse

Methods included from Sanitizers

reader_sig_for, writer_sig_for

Class Method Details

.defineProtocols(instance) ⇒ Object

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



20
21
22
23
24
25
26
27
28
29
# 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