Class: Trader::BackendFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/trade-o-matic/services/backend_factory.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_name) ⇒ BackendFactory

Returns a new instance of BackendFactory.



14
15
16
# File 'lib/trade-o-matic/services/backend_factory.rb', line 14

def initialize(_name)
  @name = _name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



12
13
14
# File 'lib/trade-o-matic/services/backend_factory.rb', line 12

def name
  @name
end

Class Method Details

.build(_backend) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/trade-o-matic/services/backend_factory.rb', line 3

def self.build(_backend)
  case _backend
  when String, Symbol
    self.new(_backend).build
  else
    _backend
  end
end

Instance Method Details

#buildObject



18
19
20
21
22
# File 'lib/trade-o-matic/services/backend_factory.rb', line 18

def build
  builder = "build_#{name}"
  raise "Invalid backend #{name}" unless self.class.private_method_defined? builder
  send builder
end