Skip to content

Instantly share code, notes, and snippets.

View sgringwe's full-sized avatar

Scott Ringwelski sgringwe

  • Handshake
  • San Francisco, CA
View GitHub Profile
@sgringwe
sgringwe / gist:11384161
Last active August 29, 2015 14:00
Using Elasticsearch and tire gem in rails integration specs
# For using elasticsearch in specs. This (hopefully) solves the issue of brittle tests
# from elasaticsearch's refresh interval of 1 second.
# -1 for instant refresh:
# => http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules.html
# 30 merge factor for faster index creation:
# => http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules-merge.html
RestClient.put "#{ENV['ELASTICSEARCH_URL']}/_settings ", %<{
"index" : {
"refresh_interval" : "-1",
"merge.policy.merge_factor" : 30
@sgringwe
sgringwe / Fix for circular dependency detected while autoloading constant in Rspec
Last active August 29, 2015 14:04
Fix for circular dependency detected while autoloading constant in Rspec
# I was getting this error randomly in my specs:
# Circular dependency detected while autoloading constant UsersController
# the fix for me was changing the following mistake:
school = FactoryGirl.create(:school)
# to be
let(:school) { FactoryGirl.create(:school) }
@sgringwe
sgringwe / select2-multiple-ajax-rails
Created September 4, 2014 17:34
select2 remote ajax multiple fix for rails
Rails expects an array of ids but because select2 uses a hidden input for multiple-ajax configuration, it returned a comma separated string. To get around this I did a check and conversion at the beginning of my strong params function:
if params[:interview_schedule] and params[:interview_schedule][:contact_ids] and params[:interview_schedule][:contact_ids][0].include?(",")
params[:interview_schedule][:contact_ids] = params[:interview_schedule][:contact_ids][0].split(",")
end
Thanks to https://coderwall.com/p/cxrwsw# for the motivation.
# These are all the cops that are enabled in the default configuration.
Style/AccessModifierIndentation:
Description: Check indentation of private/protected visibility modifiers.
StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected'
Enabled: false
Style/AccessorMethodName:
Description: Check the naming of accessor methods for get_/set_.
Enabled: true
@sgringwe
sgringwe / gist:912570668aca22bb3391
Created July 3, 2015 20:35
example tire search function
def self.search(params)
params[:query] = params[:query].downcase if params[:query].present? # Only finds if downcased
tire.search(load: params[:load] || false, page: params[:page], per_page: params[:per_page] || 25) do
query do
boolean minimum_number_should_match: 1 do
Searchable.should_match_multi_field(self, params, 'name', 10)
Searchable.should_fuzzy_match(self, params, :name)
end if params[:query].present?
boolean do
@sgringwe
sgringwe / osx-10.10-setup.md
Last active August 29, 2015 14:25 — forked from kevinelliott/osx-10.10-setup.md
Mac OS X 10.10 Yosemite Setup
@sgringwe
sgringwe / elasticsearch.rake
Created July 21, 2013 08:21
Reindex elasaticsaerch (fixed from tire wiki page)
# Run with: rake environment elasticsearch:reindex
# Begins by creating the index using tire:import:model command. This will create the "official" index name, e.g. "things" each time.
# Then we rename it to, e.g. "things_20121001052916" and alias "things" to it.
namespace :elasticsearch do
desc "re-index elasticsearch"
task :reindex => :environment do
klasses = [
User,
@sgringwe
sgringwe / simple_form_bootstrap_3.rb
Created July 28, 2013 04:37
Using simple_form with twitter bootstrap 3.0. These are the changes I made when upgrading.
SimpleForm.setup do |config|
config.wrappers :bootstrap, :tag => 'div', :class => 'form-group', :error_class => 'error' do |b|
b.use :html5
b.use :placeholder
b.use :label
b.wrapper :tag => 'div', :class=> 'col-lg-10' do |ba|
ba.use :input # , :class => ['form-control']
ba.use :error, :wrap_with => { :tag => 'span', :class => 'help-inline' }
ba.use :hint, :wrap_with => { :tag => 'p', :class => 'help-block' }
end
=Navigating=
visit('/projects')
visit(post_comments_path(post))
=Clicking links and buttons=
click_link('id-of-link')
click_link('Link Text')
click_button('Save')
click('Link Text') # Click either a link or a button
click('Button Value')
@sgringwe
sgringwe / dc_2017_biblio.md
Created April 24, 2017 15:26 — forked from BaseCase/dc_2017_biblio.md
List of resources recommended or mentioned by the speakers at Deconstruct 2017

Deconstruct 2017 Bibliography

Here are all of the resources mentioned by Deconstruct 2017 speakers, along with who recommended what. Please post a comment if I missed something or have an error!

DC 2017 Speakers' Choice Gold Medalist

  • Seeing Like a State by James Scott

Books

  • Public Opinion by Walter Lippmann (Evan Czaplicki)
  • A Pattern Language by Christopher Alexander (Brian Marick)
  • Domain Driven Design by Eric Evans (Brian Marick)