From d34cfa55793d5864528cb2e8ea2b72f5de3b0e33 Mon Sep 17 00:00:00 2001
From: Matheus Agio Nerone <man13@inf.ufpr.br>
Date: Tue, 22 Sep 2015 11:25:31 -0300
Subject: [PATCH] adding carousels controller

---
 .../javascripts/management/carousel.coffee    |  3 +
 .../stylesheets/management/carousel.scss      |  3 +
 .../management/carousel_controller.rb         | 58 +++++++++++++++++++
 app/helpers/management/carousel_helper.rb     |  2 +
 .../management/carousel_controller_test.rb    |  7 +++
 5 files changed, 73 insertions(+)
 create mode 100644 app/assets/javascripts/management/carousel.coffee
 create mode 100644 app/assets/stylesheets/management/carousel.scss
 create mode 100644 app/controllers/management/carousel_controller.rb
 create mode 100644 app/helpers/management/carousel_helper.rb
 create mode 100644 test/controllers/management/carousel_controller_test.rb

diff --git a/app/assets/javascripts/management/carousel.coffee b/app/assets/javascripts/management/carousel.coffee
new file mode 100644
index 00000000..24f83d18
--- /dev/null
+++ b/app/assets/javascripts/management/carousel.coffee
@@ -0,0 +1,3 @@
+# Place all the behaviors and hooks related to the matching controller here.
+# All this logic will automatically be available in application.js.
+# You can use CoffeeScript in this file: http://coffeescript.org/
diff --git a/app/assets/stylesheets/management/carousel.scss b/app/assets/stylesheets/management/carousel.scss
new file mode 100644
index 00000000..89da7e10
--- /dev/null
+++ b/app/assets/stylesheets/management/carousel.scss
@@ -0,0 +1,3 @@
+// Place all the styles related to the management/carousel controller here.
+// They will automatically be included in application.css.
+// You can use Sass (SCSS) here: http://sass-lang.com/
diff --git a/app/controllers/management/carousel_controller.rb b/app/controllers/management/carousel_controller.rb
new file mode 100644
index 00000000..a840f3d4
--- /dev/null
+++ b/app/controllers/management/carousel_controller.rb
@@ -0,0 +1,58 @@
+class Management::CarouselController < ManagementController
+  before_action :set_carousel, only: [:show, :create, :update, :destroy]
+
+  def index
+    @carousels = carousel_repository.all
+  end
+
+  def show
+  end
+
+  def new
+    @carousel = Carousel.new
+  end
+
+  def create
+    @carousel = Carousel.new(carousel_params)
+
+    respond_to do |format|
+      if @carousel.save
+        format.html { redirect_to management_carousel_path(@carousel), notice: "Carousel created!" }
+      else
+        format.html { render :new }
+      end
+    end
+  end
+
+  def update
+    respond_to do |format|
+      if carousel_repository.update(@carousel, carousel_params)
+        format.html { redirect_to management_carousel_path(@carousel), notice: "Carousel updated!" }
+      else
+        format.html { render :edit }
+      end
+    end
+  end
+
+  def destroy
+    carousel_repository.destroy @carousel
+    respond_to do |format|
+      format.html { redirect_to management_carousels_path, notice: "Carousel destroyed!" }
+    end
+  end
+
+  private
+
+  def carousel_repository
+    repository.for :carousel
+  end
+
+  def set_carousel
+    @carousel = carousel_repository.find params[:id]
+  end
+
+  def carousel_params
+    params.require(:carousel).permit(:title, :url, :image)
+  end
+
+end
diff --git a/app/helpers/management/carousel_helper.rb b/app/helpers/management/carousel_helper.rb
new file mode 100644
index 00000000..d764ece7
--- /dev/null
+++ b/app/helpers/management/carousel_helper.rb
@@ -0,0 +1,2 @@
+module Management::CarouselHelper
+end
diff --git a/test/controllers/management/carousel_controller_test.rb b/test/controllers/management/carousel_controller_test.rb
new file mode 100644
index 00000000..5ef47df2
--- /dev/null
+++ b/test/controllers/management/carousel_controller_test.rb
@@ -0,0 +1,7 @@
+require 'test_helper'
+
+class Management::CarouselControllerTest < ActionController::TestCase
+  # test "the truth" do
+  #   assert true
+  # end
+end
-- 
GitLab