module Objection::Compose::ClassMethods
Public Instance Methods
compose_with(*args)
click to toggle source
# File lib/motion-objection/compose.rb, line 15 def compose_with(*args) @_type_mappings = {} properties = [] args.each do |arg| if arg.is_a? Hash arg.each do |k,v| @_type_mappings[k.to_s] = v attr_accessor k properties << k end else prop = arg.split("/").last attr_accessor prop @_type_mappings[prop] = arg.to_s properties << prop end end @_dependencies = NSSet.setWithArray(properties.map(&:to_s)) end
initializer(selector, *args)
click to toggle source
# File lib/motion-objection/compose.rb, line 39 def initializer(selector, *args) self.send :extend, Initializer @_initializer = { "initializer" => selector, "arguments" => args } end
singleton()
click to toggle source
# File lib/motion-objection/compose.rb, line 35 def singleton JSObjection.registerClass self, scope: JSObjectionScopeSingleton end
Protected Instance Methods
objectionRequires()
click to toggle source
# File lib/motion-objection/compose.rb, line 49 def objectionRequires @_dependencies ||= NSSet.set if self.superclass.respondsToSelector :objectionRequires set = NSMutableSet.setWithSet self.superclass.objectionRequires set.unionSet @_dependencies set else @_dependencies end end
objectionTypeMappings()
click to toggle source
# File lib/motion-objection/compose.rb, line 60 def objectionTypeMappings @_type_mappings ||= {} if self.superclass.respondsToSelector :objectionTypeMappings @_type_mappings.merge self.superclass.objectionTypeMappings else @_type_mappings end end