Class: Outliers::Provider

Inherits:
Object
  • Object
show all
Defined in:
lib/outliers/provider.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(credentials) ⇒ Provider

Returns a new instance of Provider.



17
18
19
20
21
# File 'lib/outliers/provider.rb', line 17

def initialize(credentials)
  @credentials = credentials
  @logger      = Outliers.logger
  settings credentials.keys_to_sym
end

Instance Attribute Details

#credentialsObject (readonly)

Returns the value of attribute credentials.



4
5
6
# File 'lib/outliers/provider.rb', line 4

def credentials
  @credentials
end

Class Method Details

.connect_to(credentials) ⇒ Object



6
7
8
9
10
11
# File 'lib/outliers/provider.rb', line 6

def self.connect_to(credentials)
  provider = credentials.fetch 'provider'
  Outliers::Providers.name_map.fetch(provider).new credentials
rescue KeyError
  raise Outliers::Exceptions::UnknownProvider.new "Unkown provider '#{provider.join('_').downcase}'."
end

.to_humanObject



13
14
15
# File 'lib/outliers/provider.rb', line 13

def self.to_human
  (self.to_s.split('::') - ['Outliers', 'Providers']).map { |p| p.underscore }.join('_').downcase
end

Instance Method Details

#loggerObject



23
24
25
# File 'lib/outliers/provider.rb', line 23

def logger
  @logger
end