Class: BBK::App::Factory

Inherits:
Object
  • Object
show all
Defined in:
lib/bbk/app/factory.rb,
sig/bbk/app/factory.rbs

Defined Under Namespace

Modules: _ArgFactory

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass, *args, **kwargs) ⇒ Factory

Returns a new instance of Factory.

Parameters:



9
10
11
12
13
# File 'lib/bbk/app/factory.rb', line 9

def initialize(klass, *args, **kwargs)
  @klass = klass
  @instanceargs = args
  @instancekwargs = kwargs
end

Instance Attribute Details

#instanceargsArray[untyped]

Returns the value of attribute instanceargs.

Returns:

  • (Array[untyped])


7
8
9
# File 'lib/bbk/app/factory.rb', line 7

def instanceargs
  @instanceargs
end

#instancekwargsHash[Symbol, untyped]

Returns the value of attribute instancekwargs.

Returns:

  • (Hash[Symbol, untyped])


7
8
9
# File 'lib/bbk/app/factory.rb', line 7

def instancekwargs
  @instancekwargs
end

#klass_ArgFactory

Returns the value of attribute klass.

Returns:



7
8
9
# File 'lib/bbk/app/factory.rb', line 7

def klass
  @klass
end

Instance Method Details

#call(*args, **kwargs) ⇒ void

This method returns an undefined value.

Parameters:

  • (Object)


23
24
25
# File 'lib/bbk/app/factory.rb', line 23

def call(*args, **kwargs)
  create.call(*args, **kwargs)
end

#create_Callable

Returns:



15
16
17
18
19
20
21
# File 'lib/bbk/app/factory.rb', line 15

def create
  if RUBY_VERSION < '2.7' && instancekwargs.empty?
    klass.new(*instanceargs)
  else
    klass.new(*instanceargs, **instancekwargs)
  end
end