Skip to content

Instantly share code, notes, and snippets.

@jkappers
jkappers / DialogContext.js
Created February 28, 2019 19:34
Using a hook for reusable Dialog state
import { useState } from 'react';
function DialogContext({ initialState = false, children }) {
const [isOpen, setIsOpen] = useState(initialState);
return children(
isOpen,
() => setIsOpen(true),
() => setIsOpen(false)
)
import { Text } from 'react-native';
export default () => <Text>OK</Text>;
import React from 'react';
import PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles';
import Input from '@material-ui/core/Input';
import InputLabel from '@material-ui/core/InputLabel';
import FormControl from '@material-ui/core/FormControl';
import Paper from '@material-ui/core/Paper';
import MenuItem from '@material-ui/core/MenuItem';
let autocompleteService = null;
@jkappers
jkappers / ark_instance.sh
Created December 28, 2015 02:03 — forked from kpheasey/ark_instance.sh
DO Ubuntu 14.04 Droplet to ARK Server
#!/bin/bash
# Updating Ubunut
echo "updating ubunutu... please be patient"
apt-get update && apt-get upgrade -y
echo "installing required packages... please be patient"
apt-get install htop lib32gcc1 -y
# Create steam user if needed
@jkappers
jkappers / model.js
Last active August 29, 2015 14:09
Organizing AJAX calls by using a very simple inheritance structure and jQuery extend.
function Model(){}
// Converts a hash or each hash of an array into an instance of the calling class.
Model.fromObject = function(obj){
if (obj && !$.isArray(obj)){
return $.extend(new this(), obj);
}
var collection = [];
for(var index in obj){ collection.push(this.fromObject(obj[index])); }
@jkappers
jkappers / data.rake
Created May 27, 2014 22:56
Simple rake task for obfuscating data in a small rails app.
class Scrubber
VALUE_PROVIDERS = {
"name" => Proc.new { Faker::Name.name },
"email" => Proc.new { Faker::Internet.email },
"ssn" => Proc.new { rand.to_s[2..10] }
}
def scrub(*classes)
classes.each do |klass|
klass.all.each { |model| fake(model) }
@jkappers
jkappers / file.sql
Created March 4, 2014 20:01
Get table sizes in sql
select table_name,
round((data_length + index_length)/1024/1024/1024, 2) as `gb`
from information_schema.tables
where table_schema = "schema"
order by `gb` desc;
@jkappers
jkappers / application_controller.rb
Last active January 3, 2016 06:19
Easily allow additional parameters for :sign_up, :invite, :accept_invite etc.
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
def devise_parameter_sanitizer
return super unless resource_class == User
Sanitizers::User.new(User, :user, params)
end
end
select.form-control + .chosen-container.chosen-container-single .chosen-single {
display: block;
width: 100%;
height: 34px;
padding: 6px 12px;
font-size: 14px;
line-height: 1.428571429;
color: #555;
vertical-align: middle;
background-color: #fff;
@jkappers
jkappers / pluginize.js
Last active December 17, 2015 22:29
Convert javascript class to jQuery plugin.
var camelize = function(str) {
return str[0].toLowerCase() + str.replace(/-([a-z])/g, function(a, b) { return b.toUpperCase(); }).slice(1);
}
var pluginize = function(classname, context) {
var camelized = camelize(classname)
$.fn[camelized] = function(config){
if (!this.length) return;
return this.each(function(){
var $element = $(this)