Skip to content

Instantly share code, notes, and snippets.

View flyerhzm's full-sized avatar
🏠
Working from home

Richard Huang flyerhzm

🏠
Working from home
View GitHub Profile
@flyerhzm
flyerhzm / gist:f93fa4c1b3ab1044e1d2
Created November 30, 2015 08:12
delete branches already merged into master
# delete local branches
git branch --merged | grep -v develop | grep -v sandbox | grep -v master | xargs -n 1 git branch -d
# delete remote branches
git branch -r --merged | grep origin | grep -v develop | grep -v sandbox | grep -v master | xargs -L1 | cut -d"/" -f2- | xargs git push origin --delete
@flyerhzm
flyerhzm / gist:447dadfb23f6252d96ad
Created November 26, 2015 05:33
convert try to ruby 2.3 new safe navigation operator
# make sure your current ruby version is 2.3.0.preview1 or newer
gem install synvert -v 0.9.1
synvert --sync
synvert -r ruby/new_safe_navigation_operator
@flyerhzm
flyerhzm / gist:06eb1eb209d81c65842d
Created November 25, 2015 22:49
convert ruby code to new hash and lambda syntax
gem install synvert
synvert --sync
synvert -r ruby/new_hash_syntax $PROJECT_PATH
synvert -r ruby/new_lambda_syntax $PROJECT_PATH
class BottomlessHash < Hash
def initialize
super &-> h, k { h[k] = self.class.new }
end
def self.from_hash(hash)
new.merge(hash)
end
end
@flyerhzm
flyerhzm / exporter.rb
Last active August 29, 2015 14:14 — forked from jcasimir/exporter.rb
require 'csv'
module Exporter
DEFAULT_EXPORT_TABLES = [ Invoice, InvoiceItem, Item, Merchant, Transaction, User ]
DESTINATION_FOLDER = "tmp/"
def self.included(klass)
klass.extend ClassLevelMethods
end
@flyerhzm
flyerhzm / exporter.rb
Last active August 29, 2015 14:14 — forked from jcasimir/exporter.rb
require 'csv'
module Exporter
DEFAULT_EXPORT_TABLES = [ Invoice, InvoiceItem, Item, Merchant, Transaction, User ]
DESTINATION_FOLDER = "tmp/"
def self.included(klass)
klass.extend ClassLevelMethods
end
@flyerhzm
flyerhzm / gist:0d836d8e60d5673872b7
Created October 21, 2014 08:31
nginx with unicorn conf
upstream codingstyleguide_upstream {
server unix:///home/deploy/sites/codingstyleguide/production/shared/tmp/sockets/puma.sock;
}
server {
listen 80;
server_name codingstyleguide-assets.xinminlabs.com;
access_log /var/log/nginx/codingstyleguide-asset.log;
error_log /var/log/nginx/codingstyleguide-error.log;
root /home/deploy/sites/codingstyleguide/production/current/public;
@flyerhzm
flyerhzm / gist:ca39e23100964623fc42
Last active August 29, 2015 14:07
remove trailing white spaces and use unix new line
Dir.glob("**/*.{rb,rake,erb}").each do |path|
content = File.read path
content.gsub! /\r\n?/, "\n"
content.gsub! /[ \t]+$/, ""
content.gsub! /^\t+/, " "
File.write path, content
end
R.input({
placeholder: 'City',
className: 'form-control',
type: 'text',
onChange: function(evt) {
this.setState({city: evt.target.value});
}.bind(this)
})
Synvert::Rewriter.new :use_taobao_gemsource do
within_file 'Gemfile' do
with_node type: 'send', message: 'source', arguments: {first: /rubygems.org/} do
replace_with 'source "http://ruby.taobao.org"'
end
end
end