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
 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.