Skip to content

Instantly share code, notes, and snippets.

Avatar
🎯
Focusing

Michael Grosser grosser

🎯
Focusing
View GitHub Profile
@grosser
grosser / gist:2166521
Created Mar 23, 2012
Interact with commandline processess via stdin
View gist:2166521
# 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])
@grosser
grosser / gist:1609781
Created Jan 14, 2012
Transactional fixtures with capybara javascript tests
View gist:1609781
ActiveRecord::ConnectionAdapters::ConnectionPool.class_eval do
def current_connection_id
# Thread.current.object_id
Thread.main.object_id
end
end
@grosser
grosser / gist:1608889
Created Jan 13, 2012
Using no transactions for js request specs (may not work, just a prototype I do not want to loose...)
View gist:1608889
# 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
@grosser
grosser / gist:1597288
Created Jan 11, 2012
git autobisect because bisect is too complicated....
View gist:1597288
@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
@grosser
grosser / rails_admin_without_devise.md
Last active Jul 27, 2016 — forked from huned/rails_admin_without_devise.md
Using RailsAdmin without devise
View rails_admin_without_devise.md

Using rails_admin without devise

Add RailsAdmin to your Gemfile

do NOT add devise

gem "rails_admin", :git => "git://github.com/sferik/rails_admin.git"

Bundle

@grosser
grosser / Rakefile
Created Oct 4, 2011
rake version:bump:patch in the age of bundler gemspecs
View Rakefile
# 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
@grosser
grosser / resque_web.rb
Created Sep 13, 2011 — forked from skippy/resque_web.rb
Mountable resque-web for rails 3+ apps
View resque_web.rb
# 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]
@grosser
grosser / Readme.md
Created Sep 10, 2011
Most recommended games on Steam
View Readme.md

Get the most recommended games from steam (because steam does not tell...) this is an example and no invitation to DDos steam ;)

View gist:1168961
# 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
@grosser
grosser / push_and_merge_all.rb
Created Aug 5, 2011
Script to push and merge all branches
View push_and_merge_all.rb
#!/usr/bin/env ruby
require 'rubygems'
require 'rake'
sh "git status | grep 'nothing to commit'" # ensure we are not dirty
sh "git fetch origin" # get current branch info
current_branch = `git branch | grep '*'`.split.last
def sync(branch)
sh "git checkout #{branch}"