Skip to content

Instantly share code, notes, and snippets.

View bryanmtl's full-sized avatar

Bryan Mahoney bryanmtl

View GitHub Profile
@bryanmtl
bryanmtl / consume_store_credits.rb
Created November 25, 2013 18:58
Spree store credit fix
Spree::Order.class_eval do
checkout_flow do
go_to_state :address
go_to_state :delivery
go_to_state :payment, :if => lambda { |order| order.payment_required? }
go_to_state :confirm, :if => lambda { |order| order.confirmation_required? }
go_to_state :complete, :if => lambda { |order| (order.payment_required? && order.has_unprocessed_payments?) || !order.payment_required? }
remove_transition :from => :delivery, :to => :confirm
end
staging:
first_thing:
- command: apt-get install awscli -y
target: any
execute: true
sudo: true
- source: /.cloud66/node
destination: /tmp/install.sh
target: rails
execute: true
@bryanmtl
bryanmtl / publish.sh
Created February 8, 2018 17:06
Gitbook -> GH Pages
#!/bin/bash
# install the plugins and build the static site
gitbook install && gitbook build
# checkout to the gh-pages branch
git checkout gh-pages
# pull the latest updates
git pull origin gh-pages --rebase
@bryanmtl
bryanmtl / query.sql
Created August 26, 2019 17:21
Looker query
SELECT
customers.first_name AS "customers.first_name",
(COALESCE(CAST( ( SUM(DISTINCT (CAST(FLOOR(COALESCE(customers.total_spent ,0)*(1000000*1.0)) AS DECIMAL(65,0))) + ('x' || MD5(customers.id ::varchar))::bit(64)::bigint::DECIMAL(65,0) *18446744073709551616 + ('x' || SUBSTR(MD5(customers.id ::varchar),17))::bit(64)::bigint::DECIMAL(65,0) ) - SUM(DISTINCT ('x' || MD5(customers.id ::varchar))::bit(64)::bigint::DECIMAL(65,0) *18446744073709551616 + ('x' || SUBSTR(MD5(customers.id ::varchar),17))::bit(64)::bigint::DECIMAL(65,0)) ) AS DOUBLE PRECISION) / CAST((1000000*1.0) AS DOUBLE PRECISION), 0) / NULLIF(COUNT(DISTINCT CASE WHEN customers.total_spent IS NOT NULL THEN customers.id ELSE NULL END), 0)) AS "customers.avg_spent"
FROM shopify.orders AS orders
LEFT JOIN shopify.customers AS customers ON customers.id = orders.customer__id
GROUP BY 1
ORDER BY 2 DESC
LIMIT 500