Skip to content

Instantly share code, notes, and snippets.

View nthj's full-sized avatar

Nathaniel Jones nthj

  • Orlando, FL
View GitHub Profile
@nthj
nthj / example.rb
Last active October 14, 2016 19:32
Methods I like to monkey-patch onto the Object class in Ruby
# Say you want to look up the attrs of a Stripe Event for logging to your internal database.
attrs = begin
retriable(Stripe::APIConnectionError, Stripe::APIError, max: 25) do
# ... retrieve attrs from the Stripe event here...
end
rescue Stripe::APIConnectionError, Stripe::APIError
# We're inside an SQS queue block
throw :skip_delete # we'll just have to wait on this event, come back later
rescue Stripe::Error
notify $!
@nthj
nthj / calculator_dsl.rb
Created November 17, 2015 17:11
DSL for calculating various fees on an eCommerce purchase. Developed for @Ticketbud. Not our actual equation, but an example of how you could use it...
# ASSUMPTIONS
# Assumes we respond_to #fee_schedule, which has various details,
# like processor_rate, merchant_custom_handling_fee, or the like.
module CalculatorDSL
extend ActiveSupport::Concern
included do
singleton_class.send :alias_method, :method_missing, :define_method
end
-- user_workspaces_v01
-- Pull Organizations and Workspaces affiliated with,
-- and also organizations we have projects we are collaborating on
-- first version :: ugly and super slow, see updated version next
WITH user_workspaces AS (
SELECT a.user_id,
o.name
FROM user_affiliations a
# setup
RAILS_VERSION="5.1.1"
gem install rails -v $RAILS_VERSION && \
rails _${RAILS_VERSION}_ new rails-${RAILS_VERSION}-test && \
cd rails-${RAILS_VERSION}-test && \
rails generate model User && \
rails db:migrate && \
echo 'class User < ActiveRecord::Base; FOO = where(id: [1]); end' > app/models/user.rb && \
echo 'Rails.application.routes.draw { User }' > config/routes.rb
@nthj
nthj / add_two_numbers.go
Created March 15, 2022 00:13
Add Two Numbers
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
* Runtime: 8 ms, faster than 88.19% of Go online submissions for Add Two Numbers.
* Memory Usage: 4.3 MB, less than 100.00% of Go online submissions for Add Two Numbers.
*/
var one = ListNode{ Val: 1 }