class Trader::BackendFactory

Attributes

name[R]

Public Class Methods

build(_backend) click to toggle source
# 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
new(_name) click to toggle source
# File lib/trade-o-matic/services/backend_factory.rb, line 14
def initialize(_name)
  @name = _name
end

Public Instance Methods

build() click to toggle source
# 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

Private Instance Methods

build_bitfinex() click to toggle source
# File lib/trade-o-matic/services/backend_factory.rb, line 36
def build_bitfinex
  require 'trade-o-matic/adapters/bitfinex_backend'
  BitfinexBackend.new
end
build_bitstamp() click to toggle source
# File lib/trade-o-matic/services/backend_factory.rb, line 31
def build_bitstamp
  require 'trade-o-matic/adapters/bitstamp_backend'
  BitstampBackend.new
end
build_fake() click to toggle source
# File lib/trade-o-matic/services/backend_factory.rb, line 51
def build_fake
  require 'trade-o-matic/adapters/fake_backend'
  FakeBackend.instance
end
build_game() click to toggle source
# File lib/trade-o-matic/services/backend_factory.rb, line 26
def build_game
  require 'trade-o-matic/adapters/game_backend'
  GameBackend.new
end
build_itbit() click to toggle source
# File lib/trade-o-matic/services/backend_factory.rb, line 46
def build_itbit
  require 'trade-o-matic/adapters/itbit_backend'
  ItbitBackend.new
end
build_surbtc() click to toggle source
# File lib/trade-o-matic/services/backend_factory.rb, line 41
def build_surbtc
  require 'trade-o-matic/adapters/surbtc_backend'
  SurbtcBackend.new
end