code from the future-proofing your 3rd party integrations talk from RubyConf 2014