Skip to content

Instantly share code, notes, and snippets.

@DouglasAllen
DouglasAllen / SolarInfo.cs
Created October 14, 2016 00:29 — forked from cstrahan/SolarInfo.cs
A sunrise/sunset calculator.
using System;
using System.Diagnostics;
namespace SunriseCalculator
{
public class SolarInfo
{
public double SolarDeclination { get; private set; }
public TimeSpan EquationOfTime { get; private set; }
public DateTime Sunrise { get; private set; }
project :test => :shoulda, :renderer => :haml, :stylesheet => :sass, :script => :jquery, :orm => :activerecord
#default routes
APP_INIT = <<-APP
get "/" do
"Hello World!"
end
get :about, :map => '/about_us' do
render :haml, "%p This is a sample blog created to demonstrate the power of Padrino!"
@DouglasAllen
DouglasAllen / .gitignore
Last active August 29, 2015 14:27 — forked from karmi/.gitignore
GitInfo: Rack middleware example
.DS_Store
*.log
require 'rubygems'
require 'sinatra'
require 'sinatra_warden'
require 'warden'
require 'rack/flash'
require 'haml'
User = Struct.new(:id, :name, :email)
class MyApplication < Sinatra::Base
use Rack::Session::Cookie
use Warden::Manager do |manager|
manager.default_strategies :password
manager.failure_app = MyApplication
end
Warden::Manager.serialize_into_session{ |user| user.id }
@DouglasAllen
DouglasAllen / warden_sinatra.rb
Last active August 29, 2015 14:27 — forked from refractalize/warden_sinatra.rb
Basic warden/sinatra integration
require 'rubygems'
require 'warden'
require 'sinatra'
require 'cgi'
class LoginManager < Sinatra::Base
Warden::Manager.serialize_into_session{|id| id }
Warden::Manager.serialize_from_session{|id| id }
def call(env)
Warden::Strategies.add(:bcrypt) do
def valid?
params[:username] || params[:password]
end
def authenticate!
return fail! unless user = User.first(:username => params[:username])
if user.encrypted_password == params[:password]
success!(user)
@DouglasAllen
DouglasAllen / gist:d1b6de30a048d2df9e71
Last active August 29, 2015 14:27 — forked from jnunemaker/gist:217362
example of warden with sinatra
Warden::Manager.serialize_into_session{|user| user.id }
Warden::Manager.serialize_from_session{|id| User.get(id) }
Warden::Manager.before_failure do |env,opts|
# Sinatra is very sensitive to the request method
# since authentication could fail on any type of method, we need
# to set it for the failure app so it is routed to the correct block
env['REQUEST_METHOD'] = "POST"
end
@DouglasAllen
DouglasAllen / webrick_and_erb.rb
Last active August 29, 2015 14:27 — forked from ramn/webrick_and_erb.rb
Simple ruby webserver
require 'webrick'
require 'erb'
template = <<TEMPLATE
<html>
<head>
<title>Ruby as PHP</title>
</head>
<body>
<h1>Loop</h1>
@DouglasAllen
DouglasAllen / gist:1a30612c975820d4316e
Last active August 29, 2015 14:27 — forked from jamiehodge/gist:1327195
Warden and Sinatra example
require 'sinatra/base'
require 'rack/flash'
require 'warden'
require 'slim'
require 'sequel'
require 'sqlite3'
DB = Sequel.sqlite
DB.create_table :users do
primary_key :id