Skip to content

Instantly share code, notes, and snippets.

View kpheasey's full-sized avatar

Kevin Pheasey kpheasey

View GitHub Profile
@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]
@kpheasey
kpheasey / 0000_packages.config
Last active September 16, 2019 21:56 — forked from gcarrion-gfrmedia/0000_packages.config
AWS Elastic Beanstalk Ruby 2.2 Puma Sidekiq
packages:
yum:
git: []
htop: []
@kpheasey
kpheasey / ark_instance.sh
Last active July 27, 2023 20:12
DO Ubuntu 14.04 Droplet to ARK Server
#!/bin/bash
# Updating Ubunut
echo "updating ubunutu... please be patient"
apt-get update && apt-get upgrade -y
echo "installing required packages... please be patient"
apt-get install htop lib32gcc1 -y
# Create steam user if needed
@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 / 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 / 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 / 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 / setup.md
Last active March 22, 2022 20:13
WSL, RVM & RubyMine; ubuntu on windows, bash on windows

Add inbound firewall rule for TCP 2222

  • Windows 10 has 2 new services, SSH Server Proxy and SSH Server Broker which will already be bound to port 22
  • Do not allow public connection on this rule, WSL is not proven safe

ConEmu

Add as cmd startup with bash.exe --login

Install the SSH server and some Rails essentials libraries in bash

sudo apt-get update && sudo apt-get upgrade -y
@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 / gdb_output.txt
Created January 31, 2017 14:34
sidekiq process freeze
Thread 22 (Thread 0x7fa34f0b0700 (LWP 12916)):
#0 0x00007fa34e72afdd in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fa34eba6fbc in ?? () from /usr/lib/x86_64-linux-gnu/libruby-2.3.so.2.3
#2 0x00007fa34e428184 in start_thread (arg=0x7fa34f0b0700) at pthread_create.c:312
#3 0x00007fa34e73837d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 21 (Thread 0x7fa346635700 (LWP 12937)):
#0 0x00007fa34e72fc53 in select () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007fa34eba67d0 in rb_thread_fd_select () from /usr/lib/x86_64-linux-gnu/libruby-2.3.so.2.3
#2 0x00007fa34ea9edaf in ?? () from /usr/lib/x86_64-linux-gnu/libruby-2.3.so.2.3