Module: Mcrain::ClientProvider

Included in:
Base
Defined in:
lib/mcrain/client_provider.rb

Instance Method Summary collapse

Instance Method Details

#build_clientObject



8
9
10
11
12
13
# 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

#clientObject



4
5
6
# File 'lib/mcrain/client_provider.rb', line 4

def client
  @client ||= build_client
end

#client_classObject

Raises:

  • (NotImplementedError)


19
20
21
# File 'lib/mcrain/client_provider.rb', line 19

def client_class
  raise NotImplementedError
end

#client_init_argsObject

Raises:

  • (NotImplementedError)


23
24
25
# File 'lib/mcrain/client_provider.rb', line 23

def client_init_args
  raise NotImplementedError
end

#client_instantiation_scriptObject



27
28
29
# File 'lib/mcrain/client_provider.rb', line 27

def client_instantiation_script
  "#{client_class.name}.new(*#{client_init_args.inspect})"
end

#client_requireObject

Raises:

  • (NotImplementedError)


15
16
17
# File 'lib/mcrain/client_provider.rb', line 15

def client_require
  raise NotImplementedError
end

#client_scriptObject



31
32
33
34
# File 'lib/mcrain/client_provider.rb', line 31

def client_script
  client
  "require '#{client_require}'\nclient = #{client_instantiation_script}"
end