#!/usr/bin/env ruby
require 'rubygems'
require 'oauth/consumer'
require 'yaml'
puts "Please enter your client key, then hit Return."
consumer_key = gets.chomp
puts "Please enter your client secret, then hit Return."
consumer_secret = gets.chomp
begin
consumer = OAuth::Consumer.new consumer_key, consumer_secret, { :site => "https://www.yammer.com" }
request_token = consumer.get_request_token
puts "Please go to:\n#{request_token.authorize_url}\nin your browser to authorize your application."
puts "You should receive a four-character security code.\nEnter it and hit Return here when you are done."
oauth_verifier = gets.chomp
response = consumer.token_request(consumer.http_method,
(consumer.access_token_url? ? consumer.access_token_url : consumer.access_token_path),
request_token, {}, :oauth_verifier => oauth_verifier)
access_token = OAuth::AccessToken.new(consumer,response[:oauth_token],response[:oauth_token_secret])
credentials = {
:consumer_key => consumer.key,
:consumer_secret => consumer.secret,
:access_token => access_token.token,
:access_token_secret => access_token.secret
}
begin
File.open('laika.yml', 'w') { |file| YAML.dump(credentials, file) }
File.chmod(0600, 'laika.yml')
puts "Your credentials have been saved."
rescue
puts "Couldn't save your credentials."
end
rescue
puts "Couldn't authorize with Yammer. Did you enter your client credentials correctly?"
end