Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
eventful / lib / eventful / controller.rb
Size: Mime:
module Eventful
  module Controller
    def self.included(base)
      base.before_filter :find_tags
    end

    def index
      instance_variable_set("@#{plural_model_name}",
                            event_class.published.upcoming)
    end

    def tagged
      instance_variable_set("@#{plural_model_name}",
                            event_class.published.tagged_with(params[:tag_name]))

      render :template => "#{plural_model_name}/index"
    end

    def show
      instance_variable_set("@#{singular_model_name}",
                            event_class.published.find(params[:id]))
      respond_to do |format|
        format.html
        format.ics
      end
    end

    private
    def event_class
      controller_name.singularize.camelize.constantize
    end

    def plural_model_name
      controller_name
    end

    def singular_model_name
      plural_model_name.singularize
    end

    def find_tags
      @tags ||= event_class.tag_counts
    end
  end
end