class Paperclip::Storage::Dropbox::Credentials
Constants
- REQUIRED_KEYS
Public Class Methods
new(credentials)
click to toggle source
# File lib/paperclip/storage/dropbox/credentials.rb, line 10 def initialize(credentials) @credentials = credentials end
Public Instance Methods
fetch(namespace = nil)
click to toggle source
# File lib/paperclip/storage/dropbox/credentials.rb, line 14 def fetch(namespace = nil) parse!(namespace) validate! @credentials end
parse!(namespace = nil)
click to toggle source
# File lib/paperclip/storage/dropbox/credentials.rb, line 20 def parse!(namespace = nil) @credentials = case @credentials when File YAML.load(ERB.new(File.read(@credentials.path)).result) when String, Pathname YAML.load(ERB.new(File.read(@credentials)).result) when Hash @credentials else raise ArgumentError, ":dropbox_credentials is not a path, file, nor a hash" end @credentials.stringify_keys! @credentials = @credentials[namespace.to_s] || @credentials @credentials.symbolize_keys! @credentials end
validate!()
click to toggle source
# File lib/paperclip/storage/dropbox/credentials.rb, line 40 def validate! validate_presence! validate_inclusion! end
Private Instance Methods
validate_inclusion!()
click to toggle source
# File lib/paperclip/storage/dropbox/credentials.rb, line 54 def validate_inclusion! if @credentials[:access_type] and not %w[dropbox app_folder].include?(@credentials[:access_type]) raise KeyError, %(:access_type must be either "dropbox" or "app_folder" (was "#{@credentials[:access_type]}")) end end
validate_presence!()
click to toggle source
# File lib/paperclip/storage/dropbox/credentials.rb, line 47 def validate_presence! REQUIRED_KEYS.each do |key| value = @credentials.fetch(key) raise KeyError, ":#{key} credential is nil" if value.nil? end end