123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- module EvernoteConcern
- extend ActiveSupport::Concern
- included do
- include Oauthable
- validate :validate_evernote_options
- valid_oauth_providers :evernote
- gem_dependency_check { defined?(EvernoteOAuth) && Devise.omniauth_providers.include?(:evernote) }
- end
- def evernote_client
- EvernoteOAuth::Client.new(
- token: evernote_oauth_token,
- consumer_key: evernote_consumer_key,
- consumer_secret: evernote_consumer_secret,
- sandbox: use_sandbox?
- )
- end
- private
- def use_sandbox?
- ENV["USE_EVERNOTE_SANDBOX"] == "true"
- end
- def validate_evernote_options
- unless evernote_consumer_key.present? &&
- evernote_consumer_secret.present? &&
- evernote_oauth_token.present?
- errors.add(:base, "Evernote ENV variables and a Service are required")
- end
- end
- def evernote_consumer_key
- (config = Devise.omniauth_configs[:evernote]) && config.strategy.consumer_key
- end
- def evernote_consumer_secret
- (config = Devise.omniauth_configs[:evernote]) && config.strategy.consumer_secret
- end
- def evernote_oauth_token
- service && service.token
- end
- end
|