Module: RakeFactory::Namespaceable

Defined in:
lib/rake_factory/namespaceable.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.prepended(base) ⇒ Object

rubocop:disable Metrics/MethodLength



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/rake_factory/namespaceable.rb', line 6

def self.prepended(base)
  super(base)
  base.class_eval do
    parameter(:namespace, transform: lambda { |name|
      name = name.to_s if name.is_a?(Symbol)
      name = name.to_str if name.respond_to?(:to_str)
      unless name.is_a?(String) || name.nil?
        raise ArgumentError,
              'Expected a String or Symbol for a namespace name'
      end
      name
    })
  end
end

Instance Method Details

#around_define(application) ⇒ Object

rubocop:enable Metrics/MethodLength



22
23
24
25
26
27
28
29
30
# File 'lib/rake_factory/namespaceable.rb', line 22

def around_define(application)
  if namespace
    application.in_namespace(namespace) do
      super(application)
    end
  else
    super(application)
  end
end