Module: Foobara::Namespace::NamespaceHelpers::AutoRegisterSubclasses::ClassMethods

Defined in:
foobara-0.0.130/projects/namespace/src/namespace_helpers.rb

Instance Method Summary collapse

Instance Method Details

#inherited(subclass) ⇒ Object

[View source]

40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'foobara-0.0.130/projects/namespace/src/namespace_helpers.rb', line 40

def inherited(subclass)
  super

  subclass.extend ::Foobara::Scoped

  return if subclass.respond_to?(:will_set_scoped_path?) && subclass.will_set_scoped_path?

  NamespaceHelpers.foobara_autoset_namespace(subclass, default_namespace: scoped_default_namespace)
  NamespaceHelpers.foobara_autoset_scoped_path(subclass)

  if subclass.scoped_namespace
    if subclass.is_a?(Foobara::Namespace::IsNamespace)
      subclass.foobara_parent_namespace = subclass.scoped_namespace
    end

    subclass.scoped_namespace.foobara_register(subclass)
  end
end