From 55121dadf3ea4a6901ab66137828077fe0625a98 Mon Sep 17 00:00:00 2001
From: Matheus Agio Nerone <man13@inf.ufpr.br>
Date: Tue, 22 Sep 2015 11:28:59 -0300
Subject: [PATCH] adding carousel repository

---
 .../active_record/carousel_repository.rb            | 13 +++++++++++++
 config/initializers/repositories/repositories.rb    |  3 +++
 2 files changed, 16 insertions(+)
 create mode 100644 app/repositories/active_record/carousel_repository.rb

diff --git a/app/repositories/active_record/carousel_repository.rb b/app/repositories/active_record/carousel_repository.rb
new file mode 100644
index 000000000..00b1d8824
--- /dev/null
+++ b/app/repositories/active_record/carousel_repository.rb
@@ -0,0 +1,13 @@
+##
+# This carousel repository delegates all behavior to ActiveRecord
+class ActiveRecord::CarouselRepository
+
+  def method_missing(method_name, *arguments, &block)
+    User.send(method_name, *arguments, &block)
+  end
+
+  def respond_to?(method_name, include_private = false)
+    User.respond_to?(method_name) || super
+  end
+
+end
diff --git a/config/initializers/repositories/repositories.rb b/config/initializers/repositories/repositories.rb
index 1d80d77d8..2b65b7ef7 100644
--- a/config/initializers/repositories/repositories.rb
+++ b/config/initializers/repositories/repositories.rb
@@ -26,9 +26,11 @@ Repository::Environments.create :development do |repository|
   repository.register :subject, OrientDb::SubjectRepository.new(OrientDb::Client.instance)
   repository.register :institution, OrientDb::InstitutionRepository.new(OrientDb::Client.instance)
   repository.register :collection, OrientDb::CollectionRepository.new(OrientDb::Client.instance)
+  repository.register :carousel, ActiveRecord::CarouselRepository.new
 end
 
 Repository::Environments.create :test do |repository|
+  repository.register :carousel, ActiveRecord::CarouselRepository.new
   repository.register :learning_object, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance)
   repository.register :mainPage, OrientDb::MainPageRepository.new(OrientDb::Client.instance)
   repository.register :user, UserRepositoryProxy.new(OrientDb::UserRepository.new(OrientDb::Client.instance))
@@ -37,6 +39,7 @@ Repository::Environments.create :test do |repository|
 end
 
 Repository::Environments.create :production do |repository|
+  repository.register :carousel, ActiveRecord::CarouselRepository.new
   repository.register :learning_object, OrientDb::LearningObjectRepository.new(OrientDb::Client.instance)
   repository.register :mainPage, OrientDb::MainPageRepository.new(OrientDb::Client.instance)
   repository.register :user, UserRepositoryProxy.new(OrientDb::UserRepository.new(OrientDb::Client.instance))
-- 
GitLab