Sha256: 9cf6fa236fa1758a91f5ea11e5840c0a711b9f66bf64b3adcc4be46cc9072bb1

Contents?: true

Size: 829 Bytes

Versions: 6

Compression:

Stored size: 829 Bytes

Contents

module Ecm::Courses
  class CoursesController < ApplicationController
    def self.resource_class
      Course
    end

    def calendar
      @year  = params[:year]  ||= Time.zone.now.year
      @month = params[:month] ||= Time.zone.now.month

      @date = Date.strptime("#{@month}-#{@year}", "%m-%Y")

      @course = load_resource
      @course_dates = @course.course_dates.for_month(@date).all
    end
    
    def index
      @courses = load_collection
    end
    
    def show
      @course = load_resource
    end

    private

    def load_collection
      load_scope.all
    end

    def resource_class
      self.class.resource_class
    end

    def load_scope
      resource_class.includes(:course_category, :course_dates)
    end

    def load_resource
      load_scope.friendly.find(params[:id])
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ecm_courses2-0.2.3 app/controllers/ecm/courses/courses_controller.rb
ecm_courses2-0.2.2 app/controllers/ecm/courses/courses_controller.rb
ecm_courses2-0.2.1 app/controllers/ecm/courses/courses_controller.rb
ecm_courses2-0.2.0 app/controllers/ecm/courses/courses_controller.rb
ecm_courses2-0.1.0 app/controllers/ecm/courses/courses_controller.rb
ecm_courses2-0.0.1 app/controllers/ecm/courses/courses_controller.rb