class JekyllRecker::Social::Twitter
Twitter
social sharing backend
Constants
- KEY
Public Instance Methods
configure!()
click to toggle source
# File lib/jekyll_recker/social.rb, line 136 def configure! creds = extract_from_env || extract_from_config raise 'cannot find twitter credentials!' if creds.nil? @client = ::Twitter::REST::Client.new do |settings| settings.consumer_key = creds['consumer_api_key'] settings.consumer_secret = creds['consumer_api_secret'] settings.access_token = creds['access_token'] settings.access_token_secret = creds['access_token_secret'] end end
post!()
click to toggle source
# File lib/jekyll_recker/social.rb, line 148 def post! if dry? info('tweeting in dry mode, printing message') puts "BEGIN TWEET\n#{post_body}END TWEET" else @client.update(post_body) end end
Private Instance Methods
cred_fieldnames()
click to toggle source
# File lib/jekyll_recker/social.rb, line 177 def cred_fieldnames %w[ access_token_secret access_token consumer_api_key consumer_api_secret ] end
extract_from_config()
click to toggle source
# File lib/jekyll_recker/social.rb, line 167 def extract_from_config values = cred_fieldnames.map do |k| Shell.run(config["#{k}_cmd"]).strip end return nil if values.any? { |v| v.nil? || v.empty? } Hash[cred_fieldnames.zip(values)] end
extract_from_env()
click to toggle source
# File lib/jekyll_recker/social.rb, line 159 def extract_from_env values = cred_fieldnames.map { |k| ENV["TWITTER_#{k.upcase}"] } return nil if values.any? { |v| v.nil? || v.empty? } Hash[cred_fieldnames.zip(values)] end