Class: BBK::App::Factory

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of Factory.



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

#instanceargsObject

Returns the value of attribute instanceargs.



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

def instanceargs
  @instanceargs
end

#instancekwargsObject

Returns the value of attribute instancekwargs.



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

def instancekwargs
  @instancekwargs
end

#klassObject

Returns the value of attribute klass.



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

def klass
  @klass
end

Instance Method Details

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



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

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

#createObject



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