Online interview questions

Prepare interviews on Anything, AnyWhere

PHPSCOTS
PHPSCOTS
Blogger, Developer Views: 1057

Sinatra framework interview questions

Top Sinatra framework interview questions and answers

1. What is Sinatra?

Sinatra is web application framework for rapidly building applications in Ruby.Sinatra is a domain specific language or DSL which means it is designed from the ground up to build applications with minimal efforts.It is written in Ruby and an alternative to Ruby web application frameworks such as Ruby on Rails, Merb, Nitro, and Camping.

2. How to use sessions in Sinatra?

By default, Sessions are disabled in Sinatra.You need to enable them and then use the session hash from routes and views. Below code shows how to enable, set or get a session in Sinatra.

//Enabling Session

enable :sessions

get '/foo' do
  // setting session value
  session[:message] = 'Hello World!'
  redirect to('/bar')
end

get '/bar' do
 // getting session value
  session[:message]   # => 'Hello World!'
end

3. How do you flash a session message in Sinatra ?

Rack:: Flash is used to flash a message in Sinatra.

Example Usage :

require 'sinatra/base'
require 'rack-flash'

class MyApp < Sinatra::Base
  enable :sessions
  use Rack::Flash

  post '/set-flash' do
    # Set a flash entry
    flash[: notice] = "Thanks for signing up!"
    
    # Get a flash entry
    flash[:notice] # => "Thanks for signing up!"
    
    # Set a flash entry for only the current request
    flash.now[: notice] = "Thanks for signing up!"
  end
end

4. How do I get the “route” for the current page?

The request object probably has what you’re looking for:

get '/hello-world' do
  request.path_info   # => '/hello-world'
  request.fullpath    # => '/hello-world?foo=bar'
  request.url         # => 'http://example.com/hello-world?foo=bar'
end