From 1cedfafd3699b10c3203c38549131d311bd9efdd Mon Sep 17 00:00:00 2001
From: Mauricio Giacomini Girardello <mauriciogiacomini4@gmail.com>
Date: Mon, 28 Sep 2015 13:53:36 -0300
Subject: [PATCH] improvement some repository calls

---
 app/controllers/management/users_controller.rb        | 2 +-
 app/repositories/active_record/carousel_repository.rb | 8 ++++++++
 app/repositories/repositories_proxy.rb                | 4 ++++
 app/repositories/user_repository_proxy.rb             | 8 ++++++++
 4 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/app/controllers/management/users_controller.rb b/app/controllers/management/users_controller.rb
index efb41746..610ab321 100644
--- a/app/controllers/management/users_controller.rb
+++ b/app/controllers/management/users_controller.rb
@@ -26,7 +26,7 @@ class Management::UsersController < ManagementController
     @user = User.new(user_params)
 
     respond_to do |format|
-      if @user.save
+      if user_repository.save @user
         format.html { redirect_to management_user_path(@user), notice: "User created!" }
         format.json { render :show, status: :created, location: @user }
       else
diff --git a/app/repositories/active_record/carousel_repository.rb b/app/repositories/active_record/carousel_repository.rb
index d0cdb267..cb77877a 100644
--- a/app/repositories/active_record/carousel_repository.rb
+++ b/app/repositories/active_record/carousel_repository.rb
@@ -2,6 +2,14 @@
 # This carousel repository delegates all behavior to ActiveRecord
 class ActiveRecord::CarouselRepository
 
+  def save(carousel)
+    carousel.save
+  end
+
+  def save!(carousel)
+    carousel.save!
+  end
+
   def method_missing(method_name, *arguments, &block)
     Carousel.send(method_name, *arguments, &block)
   end
diff --git a/app/repositories/repositories_proxy.rb b/app/repositories/repositories_proxy.rb
index add9869f..3fdfe2cb 100644
--- a/app/repositories/repositories_proxy.rb
+++ b/app/repositories/repositories_proxy.rb
@@ -30,6 +30,10 @@ module RepositoriesProxy
     application_repository.for(:mainPage)
   end
 
+  def user_repository
+    application_repository.for(:user)
+  end
+
   private
 
   def application_repository
diff --git a/app/repositories/user_repository_proxy.rb b/app/repositories/user_repository_proxy.rb
index 94e18c59..27643d6e 100644
--- a/app/repositories/user_repository_proxy.rb
+++ b/app/repositories/user_repository_proxy.rb
@@ -24,6 +24,14 @@ class UserRepositoryProxy
     orientdb_user_repository.destroy_graph_node user
   end
 
+  def save(user)
+    user.save
+  end
+
+  def save!(user)
+    user.save!
+  end
+
   def method_missing(method_name, *arguments, &block)
     User.send(method_name, *arguments, &block)
   end
-- 
GitLab