Module: Twog::TwitterHandler
- Included in:
- Twog
- Defined in:
- lib/twog/twitter_handler.rb
Instance Method Summary collapse
- #ensure_text_is_of_length(length, title, link) ⇒ Object
- #tweet(posts, conf, bitly) ⇒ Object
- #update_config_file_with_latest_tweet_date(last_blog_post_tweeted, conf) ⇒ Object
- #use_twitter_oauth(post, link, conf) ⇒ Object
Instance Method Details
#ensure_text_is_of_length(length, title, link) ⇒ Object
28 29 30 31 32 |
# File 'lib/twog/twitter_handler.rb', line 28 def ensure_text_is_of_length(length, title, link) blogged = "blogged:" title = title[0,(length-((" "*2).length+blogged.length+link.length))] [blogged, title, link].join(' ') end |
#tweet(posts, conf, bitly) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/twog/twitter_handler.rb', line 3 def tweet(posts, conf, bitly) return unless posts && posts.length > 0 raise Exception.new('OAuth Consumer Key missing') unless conf['consumer_key'] raise Exception.new('OAuth Consumer Secret missing') unless conf['consumer_secret'] raise Exception.new('OAuth Access Token missing') unless conf['access_token'] raise Exception.new('OAuth Access Secret missing') unless conf['access_secret'] posts.sort.each do |post| link = bitly ? bitly.shorten(post.link).short_url : item.link use_twitter_oauth(post, link, conf) update_config_file_with_latest_tweet_date(post.date.to_s, conf) end end |
#update_config_file_with_latest_tweet_date(last_blog_post_tweeted, conf) ⇒ Object
34 35 36 37 |
# File 'lib/twog/twitter_handler.rb', line 34 def update_config_file_with_latest_tweet_date(last_blog_post_tweeted, conf) conf['last_blog_post_tweeted'] = last_blog_post_tweeted File.open("#{ENV['HOME']}/.twog/conf.yaml","w") { |out| out.write(conf.to_yaml) } end |
#use_twitter_oauth(post, link, conf) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/twog/twitter_handler.rb', line 16 def use_twitter_oauth(post, link, conf) client = TwitterOAuth::Client.new( :consumer_key => conf['consumer_key'], :consumer_secret => conf['consumer_secret'], :token => conf['access_token'], :secret => conf['access_secret'] ) raise Exception.new('TwitterOAuth unauthorized') unless client. text = ensure_text_is_of_length(140, post.title, link) client.update(text) end |