Skip to content

Instantly share code, notes, and snippets.

View soulcutter's full-sized avatar

Bradley Schaefer soulcutter

View GitHub Profile
@soulcutter
soulcutter / dropdown-menu.hbs
Created November 25, 2014 19:45
Dropdown ember component
<button class="navDropdown__button" {{action "toggleNavigationDropdown" target="view"}}>{{view.title}}</button>
{{yield}}
@soulcutter
soulcutter / console.txt
Created December 4, 2014 17:28
ember cli server blueprint
git:(develop) ✗ ember g server users
version: 0.1.3
valid watchman found, version: [3.0.0]
Unknown blueprint: server
@soulcutter
soulcutter / dropdown-menu.js
Created December 9, 2014 15:47
emberjs dropdown example
import Ember from "ember";
export default Ember.Component.extend({
tagName: 'nav',
classNames: ['navDropdown'],
classNameBindings: ['isDropdownVisible:is--open'],
ariaRole: 'navigation',
isDropdownVisible: false,
@soulcutter
soulcutter / stacktrace.txt
Created January 15, 2015 00:04
emberjs missing parameter to link-to stack trace
Uncaught TypeError: Cannot read property 'shouldSupercede' of undefinedvendor.js:59348
__exports__.default.subclass.applyToHandlersvendor.js:59287
__exports__.default.subclass.applyToStatevendor.js:58713
Router.applyIntentvendor.js:39545
calculatePostTransitionStatevendor.js:39328
EmberObject.extend._hydrateUnsuppliedQueryParamsvendor.js:39269
EmberObject.extend._prepareQueryParamsvendor.js:34131
computeLinkViewHrefvendor.js:25813
ComputedPropertyPrototype.getvendor.js:31070
getvendor.js:55606
@soulcutter
soulcutter / implicit_hashing_struct.rb
Created February 17, 2015 21:54
Struct destructuring and keyword args
Flub = Struct.new(:foo, :bar) do
def to_hash; to_h; end
end
def named(foo:, bar:)
p "foo: #{foo}"
p "bar: #{bar}"
end
named(**Flub.new(1, 2))
@soulcutter
soulcutter / gist:4c55548bd742ff26a9a0
Created March 18, 2015 21:36
Jenkins hash digest
class Digest::Jenkins
MAX_32_BIT = 4294967295
def self.digest(string)
hash = 0
string.each_byte do |byte|
hash += byte
hash &= MAX_32_BIT
@soulcutter
soulcutter / keybase.md
Created March 26, 2015 18:56
keybase.md

Keybase proof

I hereby claim:

  • I am soulcutter on github.
  • I am soulcutter (https://keybase.io/soulcutter) on keybase.
  • I have a public key whose fingerprint is C0D8 559D 4B50 7EF5 EE76 E036 BDEB 33DF 2145 14AC

To claim this, I am signing this object:

@soulcutter
soulcutter / timecop_helper.rb
Created April 30, 2015 22:44
Timecop Helper
RSpec.configure do |config|
config.around(:each, :timecop_freeze) do |example|
time = example.metadata[:timecop_freeze]
time = Time.current.change(usec: 0) if TrueClass === time
Timecop.freeze(time) do
example.call
end
end
end
@soulcutter
soulcutter / mail_chimp.rb
Last active August 29, 2015 14:20
Toggling interest groups in list subscriptions in MailChimp's v2.0 API
require "active_support/core_ext"
require "delegate"
require "mailchimp"
require "singleton"
class MailingList::MailChimp
attr_reader :user, :member_info
def initialize(user, member_fetcher = member_info_api)
@user = user
@soulcutter
soulcutter / tracked_let.rb
Created June 10, 2015 17:56
RSpec helper for automatically cleaning up database models
# transaction/truncation strategies won't work when you have a
# capybara feature and you must preserve what's already in the
# database
#
# Usage:
# include TrackedLet
#
# track(:foo) { User.create }
# track!(:foo) { User.create }
# specify { expect(track(User.create)).to be_persisted }