diff --git a/lib/hanami/model/adapters/abstract.rb b/lib/hanami/model/adapters/abstract.rb index 26ac31c2..c0c5d51a 100644 --- a/lib/hanami/model/adapters/abstract.rb +++ b/lib/hanami/model/adapters/abstract.rb @@ -89,6 +89,12 @@ def method_missing(method_name, *) # # @since 0.1.0 class Abstract + # @since x.x.x + # @api private + # + # @see Hanami::Model::Adapters::Abstract#adapter_name + ADAPTER_NAME_SUFFIX = '_adapter'.freeze + # Initialize the adapter # # @param mapper [Hanami::Model::Mapper] the object that defines the @@ -295,7 +301,7 @@ def disconnect # # @since x.x.x def adapter_name - Utils::String.new(self.class.name).demodulize.underscore.to_s + Utils::String.new(self.class.name).demodulize.underscore.to_s.sub(ADAPTER_NAME_SUFFIX, '') end private diff --git a/test/integration/repository_test.rb b/test/integration/repository_test.rb index 754c542b..7a472712 100644 --- a/test/integration/repository_test.rb +++ b/test/integration/repository_test.rb @@ -10,7 +10,7 @@ let(:article3) { Article.new(user_id: user2.id, title: 'Love Relationships', comments_count: '4') } { - memory: [Hanami::Model::Adapters::MemoryAdapter, nil, MAPPER], + memory: [Hanami::Model::Adapters::MemoryAdapter, MEMORY_CONNECTION_STRING, MAPPER], file_system: [Hanami::Model::Adapters::FileSystemAdapter, FILE_SYSTEM_CONNECTION_STRING, MAPPER], sqlite: [Hanami::Model::Adapters::SqlAdapter, SQLITE_CONNECTION_STRING, MAPPER], postgres: [Hanami::Model::Adapters::SqlAdapter, POSTGRES_CONNECTION_STRING, MAPPER], @@ -611,8 +611,8 @@ def updated_at describe "with memory adapter" do before do - UserRepository.adapter = Hanami::Model::Adapters::MemoryAdapter.new(MAPPER, nil) - ArticleRepository.adapter = Hanami::Model::Adapters::MemoryAdapter.new(MAPPER, nil) + UserRepository.adapter = Hanami::Model::Adapters::MemoryAdapter.new(MAPPER, MEMORY_CONNECTION_STRING) + ArticleRepository.adapter = Hanami::Model::Adapters::MemoryAdapter.new(MAPPER, MEMORY_CONNECTION_STRING) UserRepository.collection = :users ArticleRepository.collection = :articles diff --git a/test/model/adapters/file_system_adapter_test.rb b/test/model/adapters/file_system_adapter_test.rb index 6f7c58db..fe162a12 100644 --- a/test/model/adapters/file_system_adapter_test.rb +++ b/test/model/adapters/file_system_adapter_test.rb @@ -1175,5 +1175,11 @@ class TestDeviceRepository exception = -> { @adapter.create(collection, TestUser.new) }.must_raise Hanami::Model::Adapters::DisconnectedAdapterError exception.message.must_match "You have tried to perform an operation on a disconnected adapter" end + + describe '#adapter_name' do + it "equals to 'file_system'" do + @adapter.adapter_name.must_equal 'file_system' + end + end end end diff --git a/test/model/adapters/memory_adapter_test.rb b/test/model/adapters/memory_adapter_test.rb index 2f840bfc..17dcccf8 100644 --- a/test/model/adapters/memory_adapter_test.rb +++ b/test/model/adapters/memory_adapter_test.rb @@ -34,7 +34,7 @@ class TestDeviceRepository end end.load! - @adapter = Hanami::Model::Adapters::MemoryAdapter.new(@mapper) + @adapter = Hanami::Model::Adapters::MemoryAdapter.new(@mapper, MEMORY_CONNECTION_STRING) end after do @@ -1218,5 +1218,11 @@ class TestDeviceRepository exception.message.must_match "You have tried to perform an operation on a disconnected adapter" end end + + describe '#adapter_name' do + it "equals to 'memory'" do + @adapter.adapter_name.must_equal 'memory' + end + end end end diff --git a/test/model/adapters/sql_adapter_test.rb b/test/model/adapters/sql_adapter_test.rb index be6ba628..6497c106 100644 --- a/test/model/adapters/sql_adapter_test.rb +++ b/test/model/adapters/sql_adapter_test.rb @@ -1392,5 +1392,11 @@ class TestCountryRepository exception.message.must_match "You have tried to perform an operation on a disconnected adapter" end end + + describe '#adapter_name' do + it "equals to 'sql'" do + @adapter.adapter_name.must_equal 'sql' + end + end end end diff --git a/test/test_helper.rb b/test/test_helper.rb index e15d3486..69825a21 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -50,6 +50,7 @@ POSTGRES_CONNECTION_STRING = "postgres://localhost/#{ postgres_database }" end +MEMORY_CONNECTION_STRING = "memory://test" FILE_SYSTEM_CONNECTION_STRING = "file:///#{ filesystem }" if ENV['TRAVIS'] == 'true'