Skip to content

Instantly share code, notes, and snippets.

View mreinsch's full-sized avatar

Michael Reinsch mreinsch

View GitHub Profile

Keybase proof

I hereby claim:

  • I am mreinsch on github.
  • I am mreinsch (https://keybase.io/mreinsch) on keybase.
  • I have a public key ASBVOsqAmcvVZvk1rJpx4KPv4M0AwbFBKtG-3t1zSkNRrgo

To claim this, I am signing this object:

@mreinsch
mreinsch / capyabara_helper_methods.rb
Created March 3, 2016 18:51
wait_for_ajax helper for capyabara
module CapybaraHelperMethods
def wait_for_ajax
counter = 0
while !finished_all_ajax_requests?
counter += 1
sleep 0.2
raise "AJAX request took too long." if counter >= (Capybara.default_wait_time * 5)
end
end
@mreinsch
mreinsch / rspec_logger_listener.rb
Created March 3, 2016 18:50
log details on test runs to log to make it easier to understand what is going on
module RSpecLoggerListener
extend self
def start(notification)
Rails.logger.info("\n\n====== Starting new test run")
end
def stop(notification)
Rails.logger.info("\n\n====== Test run finished")
end
def example_started(notification)
@mreinsch
mreinsch / gist:0143cf9c9a91ebfacfeb
Last active October 23, 2015 14:18 — forked from malclocke/gist:943565
delete all remote branches that have already been merged into master
$ git branch -r --merged master |
awk -F'/' '/^ *origin/{if(!match($0, /(>|master)/)){print $2}}' |
xargs git push origin --delete
@mreinsch
mreinsch / event.rb
Last active October 8, 2015 06:41
example on how we're handling object dependencies when objects in elasticsearch need update. In our case, the JSON for an event includes data from the group, so whenever the group changes, the event needs to be updated as well. Also, if a group is closed, we want to remove it and all events from the index.
class Event < ActiveRecord::Base
include Elasticsearch::Model
belongs_to :group
after_save { IndexerJob.perform_later('update', self.class.name, self.id) }
after_destroy { IndexerJob.perform_later('delete', self.class.name, self.id) }
def in_search_index?
published? && group.in_search_index?
@mreinsch
mreinsch / elasticsearch.rb
Last active October 8, 2015 04:32
elasticsearch rspec helpers, add to spec/support
# some helpers to make integration testing with elasticsearch easier
# expects Capybara
# modify this!
MODELS_WITH_ELASICSEARCH_MODEL = [Group, Event]
begin
MODELS_WITH_ELASICSEARCH_MODEL.each do |c|
c.__elasticsearch__.create_index! force: true
c.__elasticsearch__.refresh_index!
Verifying I am +mreinsch on my passcard. https://onename.com/mreinsch
#!/bin/bash
ES_VERSION="1.1.1"
ES_PORT="9333"
PWD=`pwd`
mkdir -p ~/elasticsearch/
cd ~/elasticsearch/
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-${ES_VERSION}.zip
@mreinsch
mreinsch / elasticsearch10.rb
Created January 22, 2015 16:09
brew file for elasticsearch 10
# put this in /usr/local/Library/Taps/homebrew/homebrew-versions/elasticsearch10.rb
# $ ln -s ../Taps/homebrew/homebrew-versions/elasticsearch10.rd /usr/local/Library/Formula/elasticsearch10.rb
# $ brew install elasticsearch10
require 'formula'
class Elasticsearch10 < Formula
homepage 'http://www.elasticsearch.org'
url 'https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.0.1.tar.gz'
sha1 '26bcf8e36576b2f3809ab84432ea005f893836b9'
@mreinsch
mreinsch / contact_mailer.rb
Last active August 29, 2015 14:01
Sample code for how to attach an email when generating an email in Rails 3/4
class ContactMailer < ActionMailer::Base
def receive(email)
ContactMailer.contact_admins(email).deliver
end
def contact_admins(orig_email)
m = mail(to: 'info@doorkeeper.jp', subject: 'Received email') do |format|
format.text { render }
format.html { render }