Files
fizzy/app/controllers/commands_controller.rb
T
2025-05-06 06:42:33 +02:00

26 lines
579 B
Ruby

class CommandsController < ApplicationController
def create
command = parse_command(params[:command])
if command
result = command.execute
case result
when Command::Result::Redirection
redirect_to url_for(result.url)
else
redirect_back_or_to root_path
end
else
raise "Pending to handle invalid commands"
end
end
private
def parse_command(string)
Command::Parser.new(Current.user).parse(string).tap do |command|
Current.user.commands << command if command
end
end
end