agenda-libre-ruby/app/controllers/digests_controller.rb

32 lines
942 B
Ruby
Raw Normal View History

2015-12-08 00:43:26 +01:00
# A digest of all events over a period of time
2015-11-10 23:29:05 +01:00
class DigestsController < ApplicationController
has_scope :region, :locality, :tag
has_scope :near, type: :hash, using: %i[location distance]
2015-12-08 00:43:26 +01:00
has_scope :moderated, default: nil, allow_blank: true
has_scope :period, allow_blank: true, type: :hash, using: %i[year week],
default: (
lambda do
{ year: (Time.zone.today + 7.days).year,
week: (Time.zone.today + 7.days).cweek }
end)
2015-11-10 23:29:05 +01:00
before_action :set_week, if: -> { params[:period] }
before_action :set_events, only: [:show]
def show
render :markdown
2015-11-10 23:29:05 +01:00
end
private
def set_week
@week = DateTime.commercial params[:period][:year].to_i,
params[:period][:week].to_i
end
def set_events
@week ||= Time.zone.today + 7.days
2015-12-08 00:43:26 +01:00
@events = apply_scopes Event
2015-11-10 23:29:05 +01:00
end
end