Advertisement
Guest User

Untitled

a guest
Sep 26th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rails 1.96 KB | None | 0 0
  1. require 'twitter_oauth'
  2. require 'yaml'
  3. require 'fileutils'
  4.  
  5. $CONFIG_FILE = 'config.yaml'
  6. def load_config(config_file)
  7.     # if the config file doesn't exist, we'll need to get our access token
  8.     unless File.exists?(config_file)
  9.         create_default_config_file($CONFIG_FILE)
  10.         get_access_token
  11.     end
  12.  
  13.     begin
  14.         $CONFIG = YAML::load(File.read(config_file))
  15.         $consumer_key = $CONFIG['oauth']['consumer_key']
  16.         $consumer_secret = $CONFIG['oauth']['consumer_secret']
  17.         $request_token = $CONFIG['oauth']['request_token']
  18.         $request_secret = $CONFIG['oauth']['request_secret']
  19.     rescue
  20.         create_default_config_file($CONFIG_FILE)
  21.     end
  22.  
  23.     if $request_token.nil? and $request_secret.nil?
  24.         get_access_token
  25.         # not yet authorized
  26.     else
  27.         # authorized
  28.     end
  29. end
  30.  
  31. def create_default_config_file(config_file)
  32.     File.open(config_file, 'w') do |out|
  33.         $CONFIG['oauth']['consumer_key'] = 'XXXXXXXXXXXXXXXXXXXXXXXXXX'
  34.         $CONFIG['oauth']['consumer_key'] = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  35.         YAML::dump($CONFIG, out)
  36.     end
  37.     load_config($CONFIG_FILE)
  38. end
  39.  
  40. def get_access_token()
  41.     unless File.exists?($CONFIG_FILE)
  42.         create_default_config_file($CONFIG_FILE)
  43.     end
  44.  
  45.     client = TwitterOAuth::Client.new(:consumer_key => $consumer_key, :consumer_secret => $consumer_secret)
  46.     request_token = client.request_token
  47.     puts "Please open the following address in your browser to authorize this application:"
  48.     puts "#{request_token.authorize_url}\n"
  49.  
  50.     puts "Enter the PIN from twitter.com and press [ENTER]"
  51.     pin = STDIN.gets.strip
  52.     $access_token = client.authorize(request_token.token, request_token.secret)
  53.     File.open($CONFIG_FILE, 'w') do |out|
  54.         $CONFIG['oauth']['request_token'] = access_token.token
  55.         $CONFIG['oauth']['request_secret'] = access_token.secret
  56.         YAML::dump($CONFIG, out)
  57.     end
  58. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement