Skip to content

Instantly share code, notes, and snippets.

View kpheasey's full-sized avatar

Kevin Pheasey kpheasey

View GitHub Profile
@kpheasey
kpheasey / models.rb
Created September 15, 2016 21:24
Speed Test
class Order < ApplicationRecord
belongs_to :customer
def totals_by_customer
Order.all.pluck(:customer).distinct.map do |customer|
[customer, customer.orders.sum(:total))]
end
end
end
@kpheasey
kpheasey / sidekiq.rake
Created February 11, 2016 19:16
Sidekiq Pro Reliability & Unique Jobs - merge stale private queues and clear unique locks
namespace :sidekiq do
task merge_stale_queues: :environment do
ec2_private_ips ||= AWS::EC2.new(region: 'us-west-2').instances.map { |instance| instance.private_ip_address }
merged = false
puts "EC2 Private IPs: #{ec2_private_ips}"
Sidekiq.redis do |conn|
private_queues = conn.keys('queue:*_*_*')
@kpheasey
kpheasey / rsvp_sxsw_controller.rb
Last active February 8, 2016 22:32
Gibbon Signup
# app/controllers/rsvp_sxsw_controller.rb
class RsvpSxswController < ApplicationController
MAILCHIMP_API_KEY = "XXXX"
MAILCHIMP_LIST_ID = "XXXX"
# GET /rsvp_sxsw
def new
end
@kpheasey
kpheasey / infinite_scroll.js.coffee
Last active October 6, 2015 16:29
RailsScript Infinite Scroll
window.App ||= {}
class App.GemgentoCategories extends App.Base
show: =>
new App.ProductGrid()
@infiniteScroll()
return
@kpheasey
kpheasey / magento_permissions.sh
Last active October 1, 2015 15:58
Magento Permissions
#Set Magento root directory permissions. Call using the following:
# curl -sL https://goo.gl/b1NkHW | sudo bash
#!/bin/bash
if [ ! -f ./app/etc/local.xml ]; then
echo "-- ERROR"
echo "-- This doesn't look like a Magento install. Please make sure"
echo "-- that you are running this from the Magento main doc root dir"
exit
fi
@kpheasey
kpheasey / active_record_extension.rb
Last active August 29, 2015 14:14
SELECT SUM and SELECT SUM CASE ActiveRecord methods
module ActiveRecordExtension
extend ActiveSupport::Concern
module ClassMethods
# Add a SELECT SUM() by CASE to query.
#
# @param cases [Hash(:attr, :val, :operand), Array(Hash(:attr, :val, :operator))]
# @param sum_field [Symbol, String]