lib/motion-objection/objection.rb in motion-objection-0.6.3 vs lib/motion-objection/objection.rb in motion-objection-0.6.4
- old
+ new
@@ -1,87 +1,21 @@
module Objection
+ module_function
- def self.included(base)
- base.send :extend, ClassMethods
- end
-
- def self.injector(*modules)
+ def injector(*modules)
if modules.empty?
JSObjection.createInjector
elsif modules.size == 1
JSObjection.createInjector modules.first
else
JSObjection.createInjectorWithModulesArray modules
end
end
- def self.default_injector=(injector)
+ def default_injector=(injector)
JSObjection.setDefaultInjector injector
end
- def self.default_injector
+ def default_injector
JSObjection.defaultInjector
- end
-
- module Initializer
- def objectionInitializer
- @_initializer
- end
- end
-
- module ClassMethods
-
- 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
-
- def singleton
- JSObjection.registerClass self, scope: JSObjectionScopeSingleton
- end
-
- def initializer(selector, *args)
- self.send :extend, Initializer
- @_initializer = {
- "initializer" => selector,
- "arguments" => args
- }
- end
-
- protected
-
- def objectionRequires
- @_dependencies ||= NSSet.set
- if self.superclass.respondsToSelector :objectionRequires
- set = NSMutableSet.setWithSet self.superclass.objectionRequires
- set.unionSet @_dependencies
- set
- else
- @_dependencies
- end
- end
-
- def objectionTypeMappings
- @_type_mappings ||= {}
- if self.superclass.respondsToSelector :objectionTypeMappings
- @_type_mappings.merge self.superclass.objectionTypeMappings
- else
- @_type_mappings
- end
- end
end
end