View gist:d3d825607924f129e9c4cbb3b884138f
54.38.135.239:2549 | |
View limiter.rb
require 'redis' | |
require 'redis-namespace' | |
class Limiter | |
def initialize(name:, threshold:, interval:, time_span: 600, bucket_span: 5) | |
@name, @threshold, @interval, @time_span, @bucket_span = name, threshold, interval, time_span, bucket_span | |
raise ArgumentError if @interval > @time_span || @interval < @bucket_span | |
@redis ||= Redis::Namespace.new(:limiter, redis: $redis || Redis.new) |
View choke.rb
class Choke | |
def initialize(interval) | |
@interval = interval | |
@mutex = Mutex.new | |
end | |
def perform | |
thread, result = nil, nil | |
@mutex.synchronize do | |
thread = Thread.new { result = yield } |
View How I run this
~/dev/parslet$ rvm use 1.8.7-p302 | |
Using /Users/ncr/.rvm/gems/ruby-1.8.7-p302 | |
~/dev/parslet$ bundle exec rspec spec/parslet/mem_stress_spec.rb | |
23.030000 1.290000 24.320000 ( 24.331595) | |
. | |
Finished in 24.33 seconds | |
1 example, 0 failures | |
~/dev/parslet$ rvm use 1.9.2 | |
Using /Users/ncr/.rvm/gems/ruby-1.9.2-p180 |
View fault.xml
<?xml version="1.0" encoding="UTF-8"?> | |
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" | |
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" | |
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | |
<SOAP-ENV:Body> | |
<SOAP-ENV:Fault> | |
<faultcode>ERR_NO_SESSION</faultcode> | |
<faultfactor>doGetItemsInfo - Wrong session</faultfactor> |
View anti_heap_fragmentation.rb
# put this in config/initializers | |
class NoopArray < Array | |
def <<(e) | |
self | |
end | |
def push(e) | |
self | |
end |
View devise_and_basic_auth.txt
Started GET "/api/private/users/1" for 127.0.0.1 at Wed Jul 07 15:43:09 +0200 2010 | |
Processing by Api::Private::UsersController#show as HTML | |
Parameters: {"id"=>"1"} | |
Completed 401 Unauthorized in 1ms | |
NoMethodError (undefined method `new__session_path' for #<Devise::FailureApp:0x103260cd8>): | |
/Users/ncr/.bundle/ruby/1.8/gems/devise-1.1.rc2/lib/devise/failure_app.rb:50:in `send' | |
/Users/ncr/.bundle/ruby/1.8/gems/devise-1.1.rc2/lib/devise/failure_app.rb:50:in `redirect' | |
/Users/ncr/.bundle/ruby/1.8/gems/devise-1.1.rc2/lib/devise/failure_app.rb:30:in `respond' | |
/usr/local/lib/ruby/gems/1.8/gems/actionpack-3.0.0.beta4/lib/abstract_controller/base.rb:145:in `send_action' |
View modules_wtf.rb
irb(main):002:0> module A; def x; "x"; end end | |
=> nil | |
irb(main):003:0> module B; def x; "y"; end end | |
=> nil | |
irb(main):004:0> Class.new do include A; end.new.x | |
=> "x" | |
irb(main):005:0> Class.new do include B; end.new.x | |
=> "y" | |
irb(main):006:0> Class.new do include A; include B end.new.x | |
=> "y" |
View app_responder.rb
# Customizing your Responder to always redirect to the collection path (index action). | |
class AppResponder < ActionController::Responder | |
protected | |
# Overwrite navigation_behavior to redirect to the collection_location. | |
def navigation_behavior(error) | |
if get? | |
raise error | |
elsif has_errors? && default_action | |
render :action => default_action |
View gist.html.erb
<!DOCTYPE html> | |
<title>Nice templates Wanted ;)</title> | |
<h1>Are you a graphic designer?</h1> | |
<p>Fork this gist and contribute a better layout</p> |
NewerOlder