Nenhuma Descrição http://j1x-huginn.herokuapp.com

twitter_concern.rb 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. module TwitterConcern
  2. extend ActiveSupport::Concern
  3. included do
  4. validate :validate_twitter_options
  5. end
  6. def validate_twitter_options
  7. unless twitter_consumer_key.present? &&
  8. twitter_consumer_secret.present? &&
  9. twitter_oauth_token.present? &&
  10. twitter_oauth_token_secret.present?
  11. errors.add(:base, "Twitter consumer_key, consumer_secret, oauth_token, and oauth_token_secret are required to authenticate with the Twitter API. You can provide these as options to this Agent, or as Credentials with the same names, but starting with 'twitter_'.")
  12. end
  13. end
  14. def twitter_consumer_key
  15. options['consumer_key'].presence || credential('twitter_consumer_key')
  16. end
  17. def twitter_consumer_secret
  18. options['consumer_secret'].presence || credential('twitter_consumer_secret')
  19. end
  20. def twitter_oauth_token
  21. options['oauth_token'].presence || options['access_key'].presence || credential('twitter_oauth_token')
  22. end
  23. def twitter_oauth_token_secret
  24. options['oauth_token_secret'].presence || options['access_secret'].presence || credential('twitter_oauth_token_secret')
  25. end
  26. def twitter
  27. Twitter::REST::Client.new do |config|
  28. config.consumer_key = twitter_consumer_key
  29. config.consumer_secret = twitter_consumer_secret
  30. config.access_token = twitter_oauth_token
  31. config.access_token_secret = twitter_oauth_token_secret
  32. end
  33. end
  34. end