do NOT add devise
gem "rails_admin", :git => "git://github.com/sferik/rails_admin.git"
| gem install pru | |
| bundle exec ruby benchmark.rb > report | |
| cat report | pru 'split(/\s+/)' 'reject{|a| a.size != 6 }.map{|a| [a[0], a[1]] }.sort_by(&:last).reverse.map{|a| "#{a[0].ljust(21)} -> #{a[1]}" }.join("\n")' | head -n20 | |
| haml -> 0.320000 | |
| prawn -> 0.270000 | |
| mail -> 0.240000 | |
| webrat -> 0.230000 | |
| newrelic_rpm -> 0.210000 |
| # capture commandline output and send responses if nothing was read | |
| def interact(command, answers) | |
| puts command | |
| line = "" | |
| write = false | |
| PTY.spawn(command) do |output, input, pid| | |
| loop do | |
| rs, ws, = IO.select([output], [input]) |
| ActiveRecord::ConnectionAdapters::ConnectionPool.class_eval do | |
| def current_connection_id | |
| # Thread.current.object_id | |
| Thread.main.object_id | |
| end | |
| end |
| # js-request tests cannot use transactions, since they happen in another process | |
| # so if we are in js request tests, use the real test database and then clean it afterwards | |
| module ActiveRecord | |
| module TestFixtures | |
| def run_in_transaction_with_js? | |
| return false if $disable_transactions | |
| run_in_transaction_without_js? | |
| end | |
| alias_method_chain :run_in_transaction?, :js |
| @command = ARGV.join(' ') | |
| if system @command | |
| raise "Everything is fine here..." | |
| end | |
| def sh(cmd) | |
| puts cmd | |
| IO.popen(cmd) do |pipe| | |
| while str = pipe.gets |
| # extracted from https://github.com/grosser/project_template | |
| rule /^version:bump:.*/ do |t| | |
| sh "git status | grep 'nothing to commit'" # ensure we are not dirty | |
| index = ['major', 'minor','patch'].index(t.name.split(':').last) | |
| file = 'lib/GEM_NAME/version.rb' | |
| version_file = File.read(file) | |
| old_version, *version_parts = version_file.match(/(\d+)\.(\d+)\.(\d+)/).to_a | |
| version_parts[index] = version_parts[index].to_i + 1 | |
| version_parts[2] = 0 if index < 2 |
| # https://gist.github.com/1214052 | |
| require 'sinatra/base' | |
| class ResqueWeb < Sinatra::Base | |
| require 'resque/server' | |
| use Rack::ShowExceptions | |
| if CFG[:user].present? and CFG[:password].present? | |
| Resque::Server.use Rack::Auth::Basic do |user, password| | |
| user == CFG[:user] && password == CFG[:password] |
Get the most recommended games from steam (because steam does not tell...) this is an example and no invitation to DDos steam ;)
| # drop this in a ruby file in my_rails_app/config/initializers | |
| # restart your rails and app you're good to go! | |
| class String | |
| # remove middle from strings exceeding max length. | |
| def ellipsize(options={}) | |
| max = options[:max] || 40 | |
| delimiter = options[:delimiter] || "..." | |
| return self if self.size <= max | |
| remainder = max - delimiter.size |