EcmCalendarHelper

This project rocks and uses MIT-LICENSE.

Installation

Add it to your Gemfile.

# Gemfile
gem 'ecm_calendar_helper'

Usage

Add the helper to your controller:

# app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
  helper Ecm::CalendarHelper
end

# app/controllers/reservations_controller.rb
class ApplicationController < ActionController::Base
  before_action :initialize_calendar

  private

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

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

    @collection = Reservation.in_month(@date).all
  end
end

Render the calendar:

# i.e.app/views/reservations/index.html.haml
= month_calendar @date, @collection, display_method: :name, start_day: :monday

Pagination

Add routes for nice year and month params:

# config/routes.rb
Rails.application.routes.draw do
  resources :reservations do
    get "(/:year/:month)", action: :index, on: :collection
  end
end

Remote rendering

@TODO