Skip to content

Instantly share code, notes, and snippets.


Mars Hall mars

View GitHub Profile
mars / react-router-1.0.0-pass-router-in-props.js
Created Aug 27, 2015
Pass the `router` instance down to Route children; React 0.13.3, React Router 1.0.0beta-4, ES2015, ES6
View react-router-1.0.0-pass-router-in-props.js
import React from 'react';
// Top-level Route component receives the router in context and passes it onto each child's props
export default class AppView extends React.Component {
render() {
return (
<div className="container">
// Add `props.router` to each route component, c => {

Keybase proof

I hereby claim:

  • I am mars on github.
  • I am marsi ( on keybase.
  • I have a public key whose fingerprint is DFC9 5BAD 42CF D15F 589A 9436 7F70 7FA1 F236 B857

To claim this, I am signing this object:

mars / capybara_reset_patch.rb
Created Aug 13, 2014
Capybara patch to avoid `'about:blank')` which hangs sometimes.
View capybara_reset_patch.rb
# Monkey-patch on Capybara!!!
class Capybara::Selenium::Driver < Capybara::Driver::Base
# Patch to avoid `'about:blank')` which hangs sometimes.
def reset!
# Use instance variable directly so we avoid starting the browser just to reset the session
if @browser
begin @browser.manage.delete_all_cookies
mars / karma-ci.config.js
Last active Aug 29, 2015
example Webpack configs: React runtime & Karma tests
View karma-ci.config.js
var webpackModule = require('./webpack.module.js');
var webpackResolve = require('./webpack.resolve.js');
var Webpack = require('webpack');
var RewirePlugin = require("rewire-webpack");
module.exports = function(config) {
// frameworks to use
// available frameworks:
mars / wrap-promise.js
Last active Aug 29, 2015
wrap a Promise with Ruby-esque block behavior; ES6/ES2015
View wrap-promise.js
Insert a Promise into a pre-defined Promise chain.
@param promiseBlock [Function] takes a Promise
parameter & returns the continuation of that parameter.
@return [Promise] the fullfilled Promise chain
function wrapPromise(promiseBlock) {
if (typeof promiseBlock !== 'function') {
throw new Error('promiseBlock must be a Function');
mars / bulk_email.rb
Created Jul 25, 2012
Bulk email via gmail
View bulk_email.rb
require "rubygems"
# gem install ruby-gmail
require 'gmail'
# gather email list
addresses = %w{
mars / ember-data-global-ajax-params.js
Last active Dec 16, 2015
Add params to Ember Data's RESTAdapter AJAX requests.
View ember-data-global-ajax-params.js
App.accountId = 'asdf';
App.RESTAdapter = DS.RESTAdapter.extend({
// Scope all ajax calls.
ajax: function(url, type, hash) {
if (Ember.isEmpty(hash)) hash = {};
if (Ember.isEmpty( = {}; = App.accountId;
this._super(url, type, hash);
mars / gist:6086194
Last active Dec 20, 2015
DEPRECATED see comments: ember-testing: select an option (helper)
View gist:6086194
function(app, selector, value, description) {
// choose an option
// trigger the change
// assert the selected option
equal(find(selector+" option:selected").val(), value, description||"makes the selection");
// promise
return wait();
mars / foo-app-test.js
Last active Dec 20, 2015
ember-testing: multiple app compatibility
View foo-app-test.js
// give each tested app its own DOM element
document.write('<div class="ember-testing-container"><div id="foo-app-testing"></div></div>');
FooApp.rootElement = '#foo-app-testing';
// defer readiness
module("Foo App", {
setup: function() {
// last step, before each test begins, clears the container and advances readiness
View Netflix-Streaming-by-Type-of-Movie.txt
Action & Adventure based on a book from the 1960s (4082)
Action & Adventure based on a book from the 1970s (2410)
Action & Adventure based on a book from the 1980s (704)
Action & Adventure based on real life from the 1980s (1051)
Action & Adventure directed by Andrew V. McLaglen (2282)
Action & Adventure directed by Cirio H. Santiago (4323)
Action & Adventure directed by Clint Eastwood (4998)
Action & Adventure directed by Corey Yuen (291)
Action & Adventure directed by George Archainbaud (3183)
Action & Adventure directed by George Sherman (3198)