Class: Ensconce::Adapter

Inherits:
Object
  • Object
show all
Defined in:
lib/ensconce/adapters/adapter.rb

Overview

Parent class for adapters.

Specific adapters should inherit from this class

Direct Known Subclasses

MydexAdapter, YamlFileAdapter

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Adapter

Returns a new instance of Adapter.



9
10
11
12
# File 'lib/ensconce/adapters/adapter.rb', line 9

def initialize(args = {})
  @settings = args[:settings]
  @params = args[:params]
end

Instance Attribute Details

#paramsObject (readonly)

Returns the value of attribute params.



7
8
9
# File 'lib/ensconce/adapters/adapter.rb', line 7

def params
  @params
end

#settingsObject (readonly)

Returns the value of attribute settings.



7
8
9
# File 'lib/ensconce/adapters/adapter.rb', line 7

def settings
  @settings
end

Class Method Details

.config(options = {}) ⇒ Object



14
15
16
17
# File 'lib/ensconce/adapters/adapter.rb', line 14

def self.config(options = {})
  @options = options
  return self
end

.for(settings_object, params = {}) ⇒ Object

The object passed to for should have methods that return the settings for each instance connection. For example, a user object with an id used to retrieve data for that user.



22
23
24
# File 'lib/ensconce/adapters/adapter.rb', line 22

def self.for(settings_object, params = {})
  new(:settings => settings_object, :params => params)
end

.optionsObject



26
27
28
# File 'lib/ensconce/adapters/adapter.rb', line 26

def self.options
  @options || {}
end

.options=(data) ⇒ Object



30
31
32
# File 'lib/ensconce/adapters/adapter.rb', line 30

def self.options=(data)
  @options = data
end

Instance Method Details

#get(*args) ⇒ Object



38
39
40
# File 'lib/ensconce/adapters/adapter.rb', line 38

def get(*args)
  raise_define_method_error('get')
end

#optionsObject



34
35
36
# File 'lib/ensconce/adapters/adapter.rb', line 34

def options
  self.class.options
end

#push(*args) ⇒ Object



42
43
44
# File 'lib/ensconce/adapters/adapter.rb', line 42

def push(*args)
  raise_define_method_error('push')
end