Skip to content

Instantly share code, notes, and snippets.

View andrewhavens's full-sized avatar

Andrew Havens andrewhavens

View GitHub Profile
@andrewhavens
andrewhavens / 0_widget_management_spec.rb
Last active December 22, 2015 00:58
Example of Capybara feature file, declarative style
feature "widget management" do
include AuthenticationSteps
include WidgetSteps
background do
i_log_in_as_a_user
end
scenario "creating a new widget" do
@andrewhavens
andrewhavens / widget_management_spec.rb
Last active December 22, 2015 00:58
Example of a Capybara feature file, imperative style
feature "widget management" do
background do
@user = Fabricate(:user)
visit auth_login_path
fill_in "Username", with: @user.username
fill_in "Password", with: "password"
click_button "Log In"
end
@andrewhavens
andrewhavens / app.rb
Last active December 21, 2015 17:59
Gosu error on Raspberry Pi
require 'gosu'
class Window < Gosu::Window
def initialize
super(800, 600, true) # go fullscreen if possible
end
def button_down(button)
close if button == Gosu::KbEscape
end
@andrewhavens
andrewhavens / sse.rb
Created August 5, 2013 17:25
Working example of SSE using Sinatra and Redis, but with bad concurrency...please help to improve
require 'redis'
require 'sinatra/base'
class SSE < Sinatra::Base
def send_message(json)
"id: #{Time.now}\n" +
"data: #{json}" +
"\r\n\n"
end
@andrewhavens
andrewhavens / config.ru
Created November 7, 2012 07:18
Ruby static site with Rack
use Rack::Static, :root => "public"
run lambda { |env|
[200, {'Content-Type' => 'text/html'},
File.open('public/index.html', File::RDONLY)
]
}
@andrewhavens
andrewhavens / gist:3902832
Created October 16, 2012 23:48
thin error
/Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/adapters/thin.rb:26:in `<top (required)>': cannot load such file -- thin/connection (LoadError)
from /Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket.rb:66:in `require'
from /Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket.rb:66:in `load_adapter'
from /Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket.rb:214:in `block in <top (required)>'
from /Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket.rb:212:in `each'
from /Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-websocket-0.4.6/lib/faye/websocket.rb:212:in `<top (required)>'
from /Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye.rb:7:in `require'
from /Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye.rb:7:in `<top (required)>'
@andrewhavens
andrewhavens / gist:3902804
Created October 16, 2012 23:44
faye error
2012-10-16 16:42:22 [ERROR] [Faye::RackAdapter] undefined method `call' for nil:NilClass
Backtrace:
/Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/adapters/rack_adapter.rb:121:in `block in handle_request'
/Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/server.rb:46:in `call'
/Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/server.rb:46:in `block in process'
/Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/server.rb:58:in `call'
/Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/server.rb:58:in `block (3 levels) in process'
/Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/extensible.rb:23:in `call'
/Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/extensible.rb:23:in `pipe_through_extensions'
/Users/andrew/.rvm/gems/ruby-1.9.3-p194/gems/faye-0.8.6/lib/faye/protocol/server.rb:55:in `block (2 levels) in process'
@andrewhavens
andrewhavens / Bootstrap.php
Created July 10, 2012 15:20
An example of a custom Zend Framework route that results in a 301 redirect
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initCustomRoutes()
{
$router = Zend_Controller_Front::getInstance()->getRouter();
$route = new Mylib_Controller_Router_Route_Redirect('old/route/*', array('controller'=>'content', 'action'=>'index'));
$router->addRoute('old_route', $route);
}
@andrewhavens
andrewhavens / gist:2023640
Created March 12, 2012 17:54
error installing redis with homebrew
$ brew install -v redis
==> Downloading http://redis.googlecode.com/files/redis-2.4.8.tar.gz
File already downloaded in /Users/andrew/Library/Caches/Homebrew
/usr/bin/tar xf /Users/andrew/Library/Caches/Homebrew/redis-2.4.8.tar.gz
==> make -C src
make -C src
MAKE hiredis
CC ae.o
CC anet.o
CC redis-benchmark.o
@andrewhavens
andrewhavens / spec_helper.rb
Created February 17, 2012 21:11
example rspec helper
require 'simplecov'
SimpleCov.start
require 'my_gem'
require 'rspec/mocks'
RSpec.configure do |config|
config.mock_framework = :rspec
end