lib/twog/twitter_handler.rb in twog-0.3.5 vs lib/twog/twitter_handler.rb in twog-0.3.6
- old
+ new
@@ -1,39 +1,43 @@
+# frozen_string_literal: true
+
module Twog
module TwitterHandler
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']
+ return unless posts&.length&.positive?
+ raise StandardError, 'OAuth Consumer Key missing' unless conf['consumer_key']
+ raise StandardError, 'OAuth Consumer Secret missing' unless conf['consumer_secret']
+ raise StandardError, 'OAuth Access Token missing' unless conf['access_token']
+ raise StandardError, '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
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']
+ 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.authorized?
+ raise StandardError, 'TwitterOAuth unauthorized' unless client.authorized?
+
text = ensure_text_is_of_length(140, post.title, link)
client.update(text)
end
def ensure_text_is_of_length(length, title, link)
- blogged = "blogged:"
- title = title[0,(length-((" "*2).length+blogged.length+link.length))]
+ blogged = 'blogged:'
+ title = title[0, (length - ((' ' * 2).length + blogged.length + link.length))]
[blogged, title, link].join(' ')
end
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) }
+ File.open("#{ENV['HOME']}/.twog/conf.yaml", 'w') { |out| out.write(conf.to_yaml) }
end
end
end