This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| scopes[:your_composite_scope_name] = proc{ Scope.new(your.combined.scopes.here, {}) } | |
| def self.your_composite_scope_name(*args) | |
| scopes[:your_composite_scope_name].call(self, *args) | |
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # If your workers are inactive for a long period of time, they'll lose | |
| # their MySQL connection. | |
| # | |
| # This hack ensures we re-connect whenever a connection is | |
| # lost. Because, really. why not? | |
| # | |
| # Stick this in RAILS_ROOT/config/initializers/connection_fix.rb (or somewhere similar) | |
| # | |
| # From: | |
| # http://coderrr.wordpress.com/2009/01/08/activerecord-threading-issues-and-resolutions/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| require 'rubygems' | |
| require 'redis' | |
| require 'json' | |
| require 'eventmachine' | |
| class RedisLoop | |
| class << self | |
| attr_accessor :queues | |
| def start(opts={}, &blk) | |
| EM.run { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| namespace :harmony do | |
| desc "Munges the data" | |
| task :munge => :environment do | |
| docs_with_publish = Item.collection.find({'publish' => {'$exists' => true}}).to_a | |
| puts "Item count: #{Item.count}" | |
| puts "Items with publish key: #{docs_with_publish.size}" | |
| docs_with_publish.each do |hash| | |
| hash.delete('publish') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env ruby | |
| require 'socket' | |
| host = ARGV[0] || 'localhost' | |
| port = ARGV[1] || '6379' | |
| trap(:INT) { | |
| exit | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| use Rack::Static, :urls => ["/stylesheets", "/images"], :root => "public" | |
| run lambda { |env| [200, { 'Content-Type' => 'text/html', 'Cache-Control' => 'public, max-age=86400' }, File.open('public/index.html', File::RDONLY)] } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class Array | |
| def to_hash | |
| Hash[*inject([]) { |array, (key, value)| array + [key, value] }] | |
| end | |
| alias :to_h :to_hash | |
| end | |
| class Hash | |
| def select(&block) | |
| super(&block).to_hash |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #! /bin/sh | |
| ### BEGIN INIT INFO | |
| # Provides: redis-server | |
| # Required-Start: $syslog | |
| # Required-Stop: $syslog | |
| # Should-Start: $local_fs | |
| # Should-Stop: $local_fs | |
| # Default-Start: 2 3 4 5 | |
| # Default-Stop: 0 1 6 | |
| # Short-Description: redis-server - Persistent key-value db |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # this script will migrate and reorganize a Paperclip attachments directory to utilize :id_partition | |
| # Quickly put together by [email protected] | |
| # Assumes that your images to migrate < 1 000 000 | |
| # | |
| # Usage: ruby paperclip_partition_id_migrate.rb TARGET_DIR=/path/to/attachments/:class/:style | |
| require '/opt/ruby-enterprise/lib/ruby/1.8/fileutils.rb' | |
| def add_leading_zeros(i) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # app/controllers/posts_controller.rb | |
| class PostsController < ApplicationController | |
| def index | |
| @posts.all_cached # Retrive only at once by every 5 minutes | |
| expires_in 5.minutes, :private => false, :public => true | |
| end | |
| end | |
| # app/models/post.rb | |
| Class Post |