From 04e8c1cc57d2c1dd5761a6eb3c5c01df863b014f Mon Sep 17 00:00:00 2001 From: Mauricio Giacomini Girardello <mauriciogiacomini4@gmail.com> Date: Fri, 31 Jul 2015 19:49:26 -0300 Subject: [PATCH] move repositories models to app/repositories and abstract the commom behavior for lib/repository --- .../repositories/in_memory/user_repository.rb | 0 .../repositories/orient_db/user_repository.rb | 0 .../repository/environments.rb | 6 ++--- {app/models => lib/repository}/repository.rb | 2 +- test/models/repository_environments_test.rb | 24 ------------------- test/repository/environments_test.rb | 24 +++++++++++++++++++ .../{models => repository}/repository_test.rb | 0 7 files changed, 28 insertions(+), 28 deletions(-) rename app/{models => }/repositories/in_memory/user_repository.rb (100%) rename app/{models => }/repositories/orient_db/user_repository.rb (100%) rename app/models/repository_environments.rb => lib/repository/environments.rb (56%) rename {app/models => lib/repository}/repository.rb (94%) delete mode 100644 test/models/repository_environments_test.rb create mode 100644 test/repository/environments_test.rb rename test/{models => repository}/repository_test.rb (100%) diff --git a/app/models/repositories/in_memory/user_repository.rb b/app/repositories/in_memory/user_repository.rb similarity index 100% rename from app/models/repositories/in_memory/user_repository.rb rename to app/repositories/in_memory/user_repository.rb diff --git a/app/models/repositories/orient_db/user_repository.rb b/app/repositories/orient_db/user_repository.rb similarity index 100% rename from app/models/repositories/orient_db/user_repository.rb rename to app/repositories/orient_db/user_repository.rb diff --git a/app/models/repository_environments.rb b/lib/repository/environments.rb similarity index 56% rename from app/models/repository_environments.rb rename to lib/repository/environments.rb index fa392875d..f6cda9af7 100644 --- a/app/models/repository_environments.rb +++ b/lib/repository/environments.rb @@ -1,8 +1,8 @@ -# the RepositoryEnvironments class holds the repository for each environment -class RepositoryEnvironments +# the Environments class holds the repository for each environment +class Repository::Environments def self.create(env) - environments[env] = Repository.new + environments[env] = Repository::Repository.new yield(environments[env]) if block_given? end diff --git a/app/models/repository.rb b/lib/repository/repository.rb similarity index 94% rename from app/models/repository.rb rename to lib/repository/repository.rb index bee0bc752..a018c5953 100644 --- a/app/models/repository.rb +++ b/lib/repository/repository.rb @@ -4,7 +4,7 @@ # production_repository = Repository.new # production_repository.register :user, Repositories::OrientDB::UserRepository.new # production_repository.for(:user).create!(name: 'mauricio', email: 'mgg12@inf.ufpr.br') -class Repository +class Repository::Repository def register(type, repository) repositories[type] = repository diff --git a/test/models/repository_environments_test.rb b/test/models/repository_environments_test.rb deleted file mode 100644 index dd3704207..000000000 --- a/test/models/repository_environments_test.rb +++ /dev/null @@ -1,24 +0,0 @@ -require 'test_helper' -require 'test_model_repository' - -class RepositoryEnvironmentsTest < ActiveSupport::TestCase - - def setup - RepositoryEnvironments.create :test_env do |repository| - repository.register :test_model, TestModelRepository.new - end - end - - test 'can create a repositories inside env' do - RepositoryEnvironments.create :test_specific_env do |repository| - repository.register :test_model, TestModelRepository.new - end - - assert_count 1, RepositoryEnvironments.fetch(:test_specific_env).repositories - end - - test 'select a repository by environment' do - assert RepositoryEnvironments.fetch(:test_env).for(:test_model).working? - end - -end \ No newline at end of file diff --git a/test/repository/environments_test.rb b/test/repository/environments_test.rb new file mode 100644 index 000000000..e63b15930 --- /dev/null +++ b/test/repository/environments_test.rb @@ -0,0 +1,24 @@ +require 'test_helper' +require 'test_model_repository' + +class Repository::EnvironmentsTest < ActiveSupport::TestCase + + def setup + Environments.create :test_env do |repository| + repository.register :test_model, TestModelRepository.new + end + end + + test 'can create a repositories inside env' do + Environments.create :test_specific_env do |repository| + repository.register :test_model, TestModelRepository.new + end + + assert_count 1, Environments.fetch(:test_specific_env).repositories + end + + test 'select a repository by environment' do + assert Environments.fetch(:test_env).for(:test_model).working? + end + +end \ No newline at end of file diff --git a/test/models/repository_test.rb b/test/repository/repository_test.rb similarity index 100% rename from test/models/repository_test.rb rename to test/repository/repository_test.rb -- GitLab