Skip to content

Commit

Permalink
Merge branch 'cllns-fix-adapter-error-handling'
Browse files Browse the repository at this point in the history
  • Loading branch information
jodosha committed Mar 26, 2016
2 parents 3e99c56 + d5861d6 commit 2e1cc5e
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 9 deletions.
11 changes: 4 additions & 7 deletions lib/hanami/model/config/adapter.rb
Expand Up @@ -7,8 +7,8 @@ module Config
#
# @since 0.2.0
class AdapterNotFound < Hanami::Model::Error
def initialize(adapter_name)
super "Cannot find Hanami::Model adapter #{adapter_name}"
def initialize(adapter_name, message)
super "Cannot find Hanami::Model adapter '#{adapter_name}' (#{message})"
end
end

Expand Down Expand Up @@ -95,21 +95,18 @@ def load_adapter
begin
require "hanami/model/adapters/#{type}_adapter"
rescue LoadError => e
raise LoadError.new("Cannot find Hanami::Model adapter '#{type}' (#{e.message})")
raise AdapterNotFound.new(class_name, e.message)
end
end

def instantiate_adapter(mapper)
begin
klass = Hanami::Utils::Class.load!(class_name, Hanami::Model::Adapters)
klass.new(mapper, uri, options)
rescue NameError
raise AdapterNotFound.new(class_name)
rescue => e
raise "Cannot instantiate adapter of #{klass} (#{e.message})"
raise Error, e
end
end

end
end
end
Expand Down
4 changes: 2 additions & 2 deletions test/model/config/adapter_test.rb
Expand Up @@ -37,7 +37,7 @@
let(:config) { Hanami::Model::Config::Adapter.new(type: :redis, uri: 'redis://not_exist') }

it 'raises an error' do
-> { config.build(mapper) }.must_raise(LoadError)
-> { config.build(mapper) }.must_raise(Hanami::Model::Error)
end
end

Expand All @@ -46,7 +46,7 @@

it 'raises an error' do
config.stub(:load_adapter, nil) do
-> { config.build(mapper) }.must_raise(Hanami::Model::Config::AdapterNotFound)
-> { config.build(mapper) }.must_raise(Hanami::Model::Error)
end
end
end
Expand Down

0 comments on commit 2e1cc5e

Please sign in to comment.