0.0
No commit activity in last 3 years
No release in over 3 years
Session helpers for the Eldr ruby framework
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

= 1.11.1
~> 1.7
~> 0.7
= 0.13.1
~> 0.6
= 10.4.2
= 3.1.0
= 0.28.0

Runtime

~> 0.0
 Project Readme

Eldr::Sessions Build Status Code Climate Coverage Status Dependency Status Inline docs Gratipay

Provides session helpers like signed_in? and current_user for Eldr apps and Rack apps.

Installation

Add this line to your application's Gemfile:

gem 'eldr-sessions'

And then execute:

$ bundle

Or install it yourself as:

$ gem install eldr-sessions

Usage

Eldr::Sessions is designed to be included in a Eldr app or Rack app. It has two dependencies;

  1. Session access via env['rack.session']
  2. A configuration object with a session_id and user_model accessor.

If you use it in a Eldr app these two things are already available and you only need to set a session_id.

Use it an Eldr::App like this:

class App < Eldr::App
  include Eldr::Sessions

  use Rack::Session::Cookie, secret: 'sessions_secret'
  set :session_id, 'sessionsRawesome'

  get '/greeting' do
    if current_user
      Rack::Response.new "Hello #{current_user.name}!"
    else
      Rack::Response.new('Login First!', 401)
    end
  end

  post '/login' do
    user = User.authenticate(params['email'], params['password'])
    set_current_user user
    Rack::Response.new('Logged In!')
  end
end

See examples/app.ru for an example app.

Contributing

  1. Fork. it
  2. Create. your feature branch (git checkout -b cat-evolver)
  3. Commit. your changes (git commit -am 'Add Cat Evolution')
  4. Test. your changes (always be testing)
  5. Push. to the branch (git push origin cat-evolver)
  6. Pull. Request. (for extra points include funny gif and or pun in comments)

To remember this you can use the easy to remember and totally not tongue-in-check initialism: FCCTPP.

I don't want any of these steps to scare you off. If you don't know how to do something or are struggle getting it to work feel free to create a pull request or issue anyway. I'll be happy to help you get your contributions up to code and into the repo!

License

Licensed under MIT by K-2052.