Skip to content

Instantly share code, notes, and snippets.

Avatar

Christian Trosclair xn

View GitHub Profile
View lazy_invocation.rb
require 'set'
def figure_it_out(procs, **params)
params_provided = params.keys.to_set
procs = procs.each_with_object({}) {|proc, lookup| lookup[proc.parameters.transpose[1].to_set] = proc}
procs[params_provided][**params]
rescue NoMethodError
raise "Unknown set of params, slacker"
end
@xn
xn / gist:1077093
Created Jul 12, 2011
patched ruby
View gist:1077093
curl https://raw.github.com/gist/1008945/7532898172cd9f03b4c0d0db145bc2440dcbb2f6/load.patch > /tmp/load.patch
rvm get head # always good to make sure you're up to date with RVM
rvm reload
rvm install ruby-1.9.2-p180 --patch /tmp/load.patch -n patched
rvm use ruby-1.9.2-p180-patched
@xn
xn / config.js
Created Aug 11, 2017
express app to substitute middleware for ember-cli-code-coverage for use with ember-electron app
View config.js
'use strict';
/**
* @typedef {Object} Configuration
* @property {String} coverageEnvVar - name of environment variable for coverage
* @property {String} coverageFolder - directory in which to write coverage to
* @property {Array<String>} excludes - list of glob paths to exclude
* @property {Array<String>} reporters - list of reporters
*/
@xn
xn / Findable.rb
Last active Feb 3, 2016 — forked from lypborges/Findable.rb
Create a concern to use when using uuid as default primary key
View Findable.rb
module Findable
extend ActiveSupport::Concern
# When you use uuid some methods stop to work as expected. Using this concern in your models will do the job.
# Override methods on module FinderMethods that use id as default order when no order is defined
# It's a working in progress
# referencer:
# http://api.rubyonrails.org/classes/ActiveRecord/FinderMethods.html#method-i-take
# https://github.com/rails/rails/blob/f52354ad1d15120dcc5284714bee7ee3f052986c/activerecord/lib/active_record/relation/finder_methods.rb#L503
module ClassMethods
View wiktenauer_donation_button.html
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="KR6D24L958NRJ">
<input type="image" src="http://wiktenauer.com/images/4/42/Donate_wiktenauer2.jpg" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
View helpers.rb
def render_stack(blockitem, size)
size = nil if size < 2
html = ""
link = localized.include?(blockitem) ? "" : "something"
html << "<a href=\"#{link}\" class=\"stack-link\">" # Not done, still need to change that for things
html << "<div class=\"recipe-icon\" style=\"background: url(#{url('images/wiki/#{blockitem}.png')});\" title=\"{$name}\">#{size}</div>"
html << "</a>"
end
View wikt.css
/* standard css for master page tables */
table.master {
width: 100%; /* Fill <div> */
}
table.master > tr > th,
table.master > tr > td,
table.master > * > tr > th,
table.master > * > tr > td {
vertical-align: top; /* Set valign variable */
}
View gist:6437855
require 'forwardable'
module Blah
include ::Forwardable
def self.extended(base)
base.send :def_delegators, :@list, :<<, :length # and anything else
end
end
class List
View nombom.sh
alias nombom='echo "(╯°□°)╯︵ ┻━┻ " && npm cache clear && bower cache clean && rm -rf node_modules bower_components && npm install && bower install'
View beinning_of_month.rb
1.9.2p320 :001 > t = Time.new(2013,1,1,0,0,0,0)
=> 2013-01-01 00:00:00 +0000
1.9.2p320 :002 > t.beginning_of_month
=> 2013-01-01 00:00:00 -0800
1.9.2p320 :003 > t.beginning_of_month.utc
=> 2013-01-01 08:00:00 UTC
1.9.2p320 :004 > t.utc.beginning_of_month
=> 2013-01-01 00:00:00 UTC