module Mcrain::ClientProvider

Public Instance Methods

build_client() { || ... } click to toggle source
# File lib/mcrain/client_provider.rb, line 8
def build_client
  require client_require
  yield if block_given?
  logger.debug("#{self.class.name}#build_client call: #{client_instantiation_script}")
  client_class.new(*client_init_args)
end
client() click to toggle source
# File lib/mcrain/client_provider.rb, line 4
def client
  @client ||= build_client
end
client_class() click to toggle source
# File lib/mcrain/client_provider.rb, line 19
def client_class
  raise NotImplementedError
end
client_init_args() click to toggle source
# File lib/mcrain/client_provider.rb, line 23
def client_init_args
  raise NotImplementedError
end
client_instantiation_script() click to toggle source
# File lib/mcrain/client_provider.rb, line 27
def client_instantiation_script
  "#{client_class.name}.new(*#{client_init_args.inspect})"
end
client_require() click to toggle source
# File lib/mcrain/client_provider.rb, line 15
def client_require
  raise NotImplementedError
end
client_script() click to toggle source
# File lib/mcrain/client_provider.rb, line 31
def client_script
  client
  "require '#{client_require}'\nclient = #{client_instantiation_script}"
end