Skip to content

Instantly share code, notes, and snippets.

View michaelrkn's full-sized avatar

Michael Kaiser-Nyman michaelrkn

View GitHub Profile
@michaelrkn
michaelrkn / stubs.rb
Created March 20, 2013 19:49
twitter oauth stubs
stub_request(:post, "https://api.twitter.com/oauth/request_token").
to_return(:body => "oauth_token=t&oauth_token_secret=s")
stub_request(:post, "https://api.twitter.com/oauth/access_token").
to_return(:body => "oauth_token=at&oauth_token_secret=as&screen_name=sn")
@michaelrkn
michaelrkn / twitter_oauth.rb
Created March 20, 2013 17:18
command line oauth for twitter
require 'oauth'
require 'launchy'
CONSUMER_KEY = 'your_consumer_key'
CONSUMER_SECRET = 'your_consumer_secret'
CALLBACK_URL = 'oob'
consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET, :site => "https://api.twitter.com/")
request_token = consumer.get_request_token(:oauth_callback => CALLBACK_URL)
@michaelrkn
michaelrkn / twilio.rb
Last active December 15, 2015 04:09
twilio auth
TEST_ACCOUNT_SID = 'whatever'
TEST_AUTH_TOKEN = 'ha'
require 'faraday'
require 'base64'
post_response = Faraday.post do |request|
request.url "https://api.twilio.com/2010-04-01/Accounts/#{TEST_ACCOUNT_SID}/SMS/Messages.json"
request.headers['Authorization'] = "Basic " + Base64.strict_encode64("#{TEST_ACCOUNT_SID}:#{TEST_AUTH_TOKEN}")
request.body = URI.encode_www_form({'From' => '+15005550006', 'To' => '+14155551212', 'Body' => 'hello world!'})
@michaelrkn
michaelrkn / foo.rb
Last active December 15, 2015 03:59
active model validations
require 'active_model'
class Foo
include ActiveModel::Validations
attr_accessor :name
validates :name, :presence => true
def initialize(options={})
@michaelrkn
michaelrkn / gist_spec.rb
Last active December 15, 2015 02:39
webmock stub example
require 'spec_helper'
describe Gist do
context '.create' do
it 'POSTs a new Gist to the user\'s account' do
gist = {:public => 'true',
:description => 'a test gist',
:files => {'test_file.rb' => {:content => 'puts "hello world!"'}}}
stub = stub_request(:post, "https://#{GITHUB_USERNAME}:#{GITHUB_PASSWORD}@api.github.com/gists").with(:body => gist.to_json)
Gist.create(gist)
@michaelrkn
michaelrkn / factorial.rb
Last active December 11, 2015 16:48 — forked from pjlowry/factorial.rb
def factorial(n)
if n < 0
raise "You can't take the factorial of a negative number."
elsif n == 0
1
else
(1..n).inject(:*)
end
end
@michaelrkn
michaelrkn / Forecaster.java
Created November 18, 2015 23:41
asynchrony
package com.example.michael.forecaster;
import com.squareup.okhttp.Call;
import com.squareup.okhttp.Callback;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
public class Forecaster {
public void fetchForecast(int zip, Callback callback) {
@michaelrkn
michaelrkn / in_words_-5.rb
Created June 16, 2012 01:36
numbers in words -5
class Integer
def in_words
if self < 20
{0 => "\b",
1 => "one",
2 => "two",
3 => "three",
4 => "four",
5 => "five",
6 => "six",
@michaelrkn
michaelrkn / in_words_-4.rb
Created June 16, 2012 01:35
numbers in words -4
class Integer
def in_words
if self < 20
{0 => "\b",
1 => "one",
2 => "two",
3 => "three",
4 => "four",
5 => "five",
6 => "six",
@michaelrkn
michaelrkn / in_words_-3.rb
Created June 16, 2012 01:34
numbers in words -3
class Integer
def in_words
if self < 20
{0 => "\b",
1 => "one",
2 => "two",
3 => "three",
4 => "four",
5 => "five",
6 => "six",