Sha256: 7f63764118d41afba921cf4b5852da5caca9b15794a81dbb4e986f17bb4dba42

Contents?: true

Size: 919 Bytes

Versions: 1

Compression:

Stored size: 919 Bytes

Contents

module Logman
  class Auth < ConsoleBase
    get '/login' do
      erb :login, locals:{ :invalid=> false, :register=> (User.count==0) }
    end
    
    post '/login' do
      #register for the first time
      if User.count == 0
        user = User.new(params)
        user.admin = true
        
        if user.save
           session[:user_id] = user.id.to_s
           return redirect '/'
        else
           return  erb :login, locals:{ :invalid=> true, :register=>true }
        end
      end       
      
      #login routine       
      user = User.find_by_email(params[:email])
     
      if user.nil? || user.authenticate(params[:password]).blank?
        erb :login, locals:{ :invalid=> true, :register=>false }
      else
        session[:user_id] = user.id.to_s
        redirect '/'
      end
    end
    
    get '/logout' do
      session[:user_id] = nil
      redirect '/'
    end
    
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
logman-0.0.2 lib/console/auth.rb