Module: VG::SO::ServiceObjectRegistrationMethods::ClassMethods

Defined in:
lib/vg/s_o/service_object_registration_methods.rb

Instance Method Summary collapse

Instance Method Details

#register_service_object(name, so) ⇒ Object



15
16
17
18
19
20
21
22
23
# File 'lib/vg/s_o/service_object_registration_methods.rb', line 15

def register_service_object(name, so)
  registered_service_objects[name.to_sym]&.tap do |registered_so|
    return if so == registered_so
    raise "#{so} clashes with #{registered_so} in #{self}" if so != registered_so
  end
  
  # puts "--- register #{self.name}##{name} => #{so}#call"
  registered_service_objects[name.to_sym] = so
end

#register_service_objects(hash) ⇒ Object



11
12
13
# File 'lib/vg/s_o/service_object_registration_methods.rb', line 11

def register_service_objects(hash)
  hash.each { |name, so| register_service_object(name, so) }
end

#registered_service_objectsObject



7
8
9
# File 'lib/vg/s_o/service_object_registration_methods.rb', line 7

def registered_service_objects
  @registered_service_objects ||= {}
end