Skip to content

Instantly share code, notes, and snippets.

View pawel2105's full-sized avatar

Pawel Janiak pawel2105

View GitHub Profile
headlines = ["one","two","three","flee"]
#enumerables have a method #to_phrase.rhyme_key which gives a key based on pronunciation.
So headlines.map(&:to_phrase.rhyme_key) => 1,2,3,3 (for example)
#Now I want to filter out all the strings that don't have rhyme_key counterparts,
essentially leaving ["three","flee"] in the convoluted example above. I tried the code below,
but that just stores the rhyme_key values in the headlines array which is useless to me because
the original string literals get replaced with the values. How do I check against the values via
the methods without replacing the original strings?
@pawel2105
pawel2105 / stacktrace
Last active December 11, 2015 21:28
ActiveSupport::JSON.decode breaking when updating to Rails 2.3.16
@object = "{'source': 'Direct', 'details': 'Unknown', 'vdate': 1333236870729}"
Rails 3.2.15
> ActiveSupport::JSON.decode(@object)
# => {"details"=>"Unknown", "vdate"=>1333236870729, "source"=>"Direct"}
Rails 3.2.16
> ActiveSupport::JSON.decode(@object)
@pawel2105
pawel2105 / gist:6268555
Last active December 21, 2015 07:08
How to install Sphinx 0.9.8 on Ubuntu or OSX
curl -O http://sphinxsearch.com/files/sphinx-0.9.8-rc2.tar.gz
tar -zxvf sphinx-0.9.8-rc2.tar.gz
cd sphinx-0.9.8-rc2
./configure
make
sudo make install
bundle exec rake thinking_sphinx:configure
bundle exec rake thinking_sphinx:index
bundle exec rake thinking_sphinx:start
Given the following domain and scenario:
Topic has_many votes
A rails noob that has a massive dataset but little understanding into ActiveRecord query methods
and little SQL knowledge.
Using elegant and idiomatic Ruby, what is a good solution for returning all topics sorted by the
number of votes they have. Because of the SQL knowledge gap, you should avoid having to use SQL directly.
@pawel2105
pawel2105 / first deploy
Last active August 29, 2015 13:58
capistrano-sidekiq deploys
INFO [5cab5ea4] Running ~/.rvm/bin/rvm 2.1.1 do bundle exec sidekiqctl stop /home/deploy/myapp/shared/tmp/pids/sidekiq.pid 10 on 255.255.255.255
DEBUG [5cab5ea4] Command: cd /home/deploy/myapp/current && ~/.rvm/bin/rvm 2.1.1 do bundle exec sidekiqctl stop /home/deploy/myapp/shared/tmp/pids/sidekiq.pid 10
DEBUG [5cab5ea4] Sidekiq shut down gracefully.
INFO [edd9b953] Running ~/.rvm/bin/rvm 2.1.1 do bundle exec sidekiq --index 0 --pidfile /home/deploy/myapp/shared/tmp/pids/sidekiq.pid --environment production --logfile /home/deploy/myapp/shared/log/sidekiq.log --daemon on 255.255.255.255
DEBUG [edd9b953] Command: cd /home/deploy/myapp/current && ~/.rvm/bin/rvm 2.1.1 do bundle exec sidekiq --index 0 --pidfile /home/deploy/myapp/shared/tmp/pids/sidekiq.pid --environment production --logfile /home/deploy/myapp/shared/log/sidekiq.log --daemon
INFO [edd9b953] Finished in 1.817 seconds with exit status 0 (successful).
INFO [c1681dc0] Running ~/.rvm/bin/rvm 2.1.1 do bundle exec sidekiq --index 0 --pidfile /home
@pawel2105
pawel2105 / 1. error
Created April 10, 2014 20:01
Rspec breaks if Capybara exists and rails is not required.
capybara-2.2.1/lib/capybara/rails.rb:15:in `<top (required)>': undefined method `join' for nil:NilClass (NoMethodError)
class ErrorsController < ApplicationController
def not_found
# Will render the app/views/errors/not_found.html.erb template
def not_found
respond_to do |format|
format.html { render template: 'errors/not_found', layout: 'layouts/application', status: 404 }
# Below is to ensure rails doesn't 500 when someone requests /blahblahblah.js or any other non-html format.
format.all { render nothing: true, status: 404 }
end
end
# Find your tour ID
tour = Tour.find(xxx)
Cache::Tour.new(tour).delete
# This clears memcache for all regions
# We create a new class with some sane defaults
class Garden
def initialize(args={})
@trees = args[:trees] || 15
@perimiter = args[:perimiter] || 'fence'
@lawn = args[:lawn] || 'grass'
end
end
@pawel2105
pawel2105 / discussion.rb
Created September 4, 2014 10:11
Reusable eager loading with rails
class Discussion < ActiveRecord::Base
scope :with_includes, -> { includes(:comments, :category) }
scope :by_recency, -> { order('created_at DESC') }
scope :visible, -> { where(hidden: false) }
end