Class: Module

Inherits:
Object
  • Object
show all
Includes:
Foobara::Domain::ModuleExtension, Foobara::Namespace::NamespaceHelpers
Defined in:
foobara-0.0.110/projects/delegate/src/extensions/module.rb,
foobara-0.0.110/projects/namespace/src/extensions/module.rb

Instance Method Summary collapse

Methods included from Foobara::Domain::ModuleExtension

#foobara_domain!, #foobara_domain?, #foobara_organization!, #foobara_organization?

Methods included from Foobara::Namespace::NamespaceHelpers

_start_with?, foobara_autoregister_subclasses, #foobara_autoregister_subclasses, foobara_autoset_namespace, #foobara_autoset_namespace!, foobara_autoset_scoped_path, #foobara_autoset_scoped_path!, foobara_instances_are_namespaces!, #foobara_instances_are_namespaces!, foobara_namespace!, #foobara_namespace!, #foobara_root_namespace!, foobara_subclasses_are_namespaces!, #foobara_subclasses_are_namespaces!, initialize_foobara_namespace, update_children_with_new_parent

Instance Method Details

#foobara_delegate(*method_names, to:, allow_nil: false) ⇒ Object



2
3
4
5
6
7
8
9
10
11
# File 'foobara-0.0.110/projects/delegate/src/extensions/module.rb', line 2

def foobara_delegate(*method_names, to:, allow_nil: false)
  method_names.each do |method_name|
    define_method method_name do |*args, **opts, &block|
      target = to.is_a?(::Symbol) || to.is_a?(::String) ? send(to) : to
      return nil if target.nil? && allow_nil

      target.send(method_name, *args, **opts, &block)
    end
  end
end