Module: Objection::Compose::ClassMethods

Defined in:
lib/motion-objection/compose.rb

Instance Method Summary collapse

Instance Method Details

#compose_with(*args) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 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) ⇒ Object



39
40
41
42
43
44
45
# File 'lib/motion-objection/compose.rb', line 39

def initializer(selector, *args)
  self.send :extend, Initializer 
  @_initializer = {
    "initializer" => selector,
    "arguments" => args
  }
end

#singletonObject



35
36
37
# File 'lib/motion-objection/compose.rb', line 35

def singleton
  JSObjection.registerClass self, scope: JSObjectionScopeSingleton 
end