- Remove unused create_stripe_session method from TicketsController - Replace hardcoded API key with environment variable for security - Fix typo in ApplicationHelper comment - Improve User model validation constraints for better UX - Add comprehensive YARD-style documentation across models, controllers, services, and helpers - Enhance error handling in cleanup jobs with proper exception handling - Suppress Prawn font warnings in PDF generator - Update refactoring summary with complete change documentation All tests pass (200 tests, 454 assertions, 0 failures) RuboCop style issues resolved automatically 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
37 lines
1.3 KiB
Ruby
Executable File
37 lines
1.3 KiB
Ruby
Executable File
# Events controller - Public event listings and individual event display
|
|
#
|
|
# This controller manages public event browsing and displays individual events
|
|
# with their associated ticket types. No authentication required for public browsing.
|
|
class EventsController < ApplicationController
|
|
# No authentication required for public event viewing
|
|
before_action :authenticate_user!, only: []
|
|
before_action :set_event, only: [ :show ]
|
|
|
|
# Display paginated list of upcoming published events
|
|
#
|
|
# Shows events in published state, ordered by start time ascending
|
|
# Includes event owner information and supports Kaminari pagination
|
|
def index
|
|
@events = Event.includes(:user).upcoming.page(params[:page]).per(12)
|
|
end
|
|
|
|
# Display individual event with ticket type information
|
|
#
|
|
# Shows complete event details including venue information,
|
|
# available ticket types, and allows users to add tickets to cart
|
|
def show
|
|
# Event is set by set_event callback with ticket types preloaded
|
|
# Template will display event details and ticket selection interface
|
|
end
|
|
|
|
private
|
|
|
|
# Find and set the current event with eager-loaded associations
|
|
#
|
|
# Loads event with ticket types to avoid N+1 queries
|
|
# Raises ActiveRecord::RecordNotFound if event doesn't exist
|
|
def set_event
|
|
@event = Event.includes(:ticket_types).find(params[:id])
|
|
end
|
|
end
|