Sha256: b76a73562899698b94189204b35a7a8e542b0df0e4b3d3eaa194bef0a9b20ba8

Contents?: true

Size: 882 Bytes

Versions: 1

Compression:

Stored size: 882 Bytes

Contents

# frozen_string_literal: true

require "sinatra"
require "sinatra/cookies"

CABLE_URL = ENV['ANYCABLE'] ? "ws://localhost:9293/cable" : "/cable"

class App < Sinatra::Application # :nodoc:
  set :public_folder, 'assets'

  enable :sessions
  set :session_secret, 'my_secrets'

  get '/' do
    if session[:user]
      slim :index
    else
      slim :login
    end
  end

  get '/sign_in' do
    slim :login
  end

  post '/sign_in' do
    if params['user']
      session[:user] = params['user']
      cookies["user"] = params['user']
      redirect '/'
    else
      slim :login
    end
  end

  post '/rooms' do
    if params['id']
      redirect "/rooms/#{params['id']}"
    else
      slim :index
    end
  end

  get '/rooms/:id' do
    if session[:user]
      @room_id = params['id']
      @user = session[:user]
      slim :room
    else
      slim :login
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
litecable-0.5.0 examples/sinatra/app.rb