Sha256: 9f135a7755dc5ab4474a8582400442e90f1060fcaac6d52348e56cc41b260c93

Contents?: true

Size: 1.34 KB

Versions: 4

Compression:

Stored size: 1.34 KB

Contents

module Gaku
  class SyllabusesController < GakuController

    #load_and_authorize_resource class: Gaku::Syllabus

    respond_to :js,   only: %i( new create edit update destroy )
    respond_to :html, only: %i( index edit show )

    before_action :set_syllabus, only: %i( edit update destroy )

    def new
      @syllabus = Syllabus.new
      respond_with @syllabus
    end

    def create
      @syllabus = Syllabus.new(syllabus_params)
      @syllabus.save
      set_count
      respond_with @syllabus
    end

    def index
      @syllabuses = Syllabus.all
      set_count
      respond_with @syllabuses
    end

    def edit
      set_grading_methods
      set_notable
    end

    def update
      @syllabus.update(syllabus_params)
      respond_with @syllabus
    end

    def destroy
      @syllabus.destroy
      set_count
      respond_with @syllabus
    end

    private

    def syllabus_params
      params.require(:syllabus).permit(syllabus_attr)
    end

    def syllabus_attr
      %i( name code credits description )
    end

    def set_syllabus
      @syllabus = Syllabus.find(params[:id])
    end

    def set_grading_methods
      @grading_methods = GradingMethod.all
    end

    def set_notable
      @notable = @syllabus
      @notable_resource = get_resource_name @notable
    end

    def set_count
      @count = Syllabus.count
    end

  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
gaku_core-0.0.3 app/controllers/gaku/syllabuses_controller.rb
gaku-0.0.3 core/app/controllers/gaku/syllabuses_controller.rb
gaku-0.0.2 core/app/controllers/gaku/syllabuses_controller.rb
gaku_core-0.0.2 app/controllers/gaku/syllabuses_controller.rb