Module: Adapter::Asserts

Included in:
Adapter
Defined in:
lib/adapter/asserts.rb

Constant Summary collapse

RequiredMethods =
[:read, :write, :delete, :clear]

Instance Method Summary collapse

Instance Method Details

#assert_methods_defined(mod) ⇒ Object

Raises:



13
14
15
16
17
18
19
# File 'lib/adapter/asserts.rb', line 13

def assert_methods_defined(mod)
  missing_methods = []
  RequiredMethods.each do |meth|
    missing_methods << meth unless mod.method_defined?(meth)
  end
  raise IncompleteAPI.new(missing_methods) unless missing_methods.empty?
end

#assert_valid_adapter(name) ⇒ Object

Raises:



9
10
11
# File 'lib/adapter/asserts.rb', line 9

def assert_valid_adapter(name)
  raise Undefined.new(name) unless definitions.key?(name.to_sym)
end

#assert_valid_module(mod) ⇒ Object



5
6
7
# File 'lib/adapter/asserts.rb', line 5

def assert_valid_module(mod)
  assert_methods_defined(mod)
end