Skip to content

Instantly share code, notes, and snippets.

View srbdev's full-sized avatar

sb srbdev

View GitHub Profile
const maybe = (fn) =>
function (...args) {
if (args.length === 0) {
return
}
else {
for (let arg of args) {
if (arg == null) return;
}
return fn.apply(this, args)
const once = (fn) => {
let done = false;
return function() {
return done ? void 0 : ((done = true), fn.apply(this, arguments))
}
}
const barker = (state) => ({
bark: () => console.log('Woof, I am ' + state.name)
})
const driver = (state) => ({
drive: () => state.position = state.position + state.speed
})
const murderRobotDog = (name) => {
// Better to use actual classes when dealing with LOTS (i.e. > 100,000) of objects
const dog = () => {
const sound = 'woof'
return {
talk: () => console.log(sound)
}
}
const sniffles = dog()
@srbdev
srbdev / object.rb
Created July 7, 2015 19:00
Ruby class
require_relative 'some_file_name'
class Klass
def initialize(arg)
@arg = arg
end
def display
puts 'Hello #{@arg}'
end
@srbdev
srbdev / run.rb
Created July 7, 2015 05:04
Capybara test...
require 'capybara'
session = Capybara::Session.new(:selenium)
session.driver.class.class_eval { def quit; end }
session.visit 'https://google.com'
session.fill_in 'lst-ib', :with => 'GameSparks'
session.find('#lst-ib').native.send_keys(:return)
session.find_link('GameSparks | The #1 Backend-as-a-Service platform for ...').click
@srbdev
srbdev / gist:38a2d0e6d1865cc59e2b
Last active December 22, 2017 08:15
Chrome snippet for loading d3.js
(function() {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
// has to be https to work...
s.src = '//cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js';
document.getElementsByTagName('body')[0].appendChild(s);
})();
@srbdev
srbdev / gist:5296f532535dd81e6c16
Created October 2, 2014 03:02
Shell shock check
env X="() { :;} ; echo you might be vulnerable" /bin/bash -c "echo hello"
@srbdev
srbdev / gist:8ba2f3380922a888e90c
Created October 1, 2014 02:52
jQuery extension template
$.fn.extensionName = function() {
// code goes here...
return this;
}
// Makes out.pdf with page 1 of in.pdf
pdftk in.pdf cat 1 output out.pdf