class Cloudimage::Client
Constants
- API_VERSION
- DEFAULT_SIGNATURE_LENGTH
Attributes
config[R]
Public Class Methods
new(**options)
click to toggle source
# File lib/cloudimage/client.rb, line 17 def initialize(**options) @config = set_config_defaults(options) validate_config end
Public Instance Methods
path(path)
click to toggle source
# File lib/cloudimage/client.rb, line 22 def path(path) URI.new(path, **config) end
Private Instance Methods
set_config_defaults(options)
click to toggle source
# File lib/cloudimage/client.rb, line 28 def set_config_defaults(options) options.tap do |config| config[:signature_length] = options[:signature_length] || DEFAULT_SIGNATURE_LENGTH config[:api_version] = API_VERSION config[:include_api_version] = options[:include_api_version].nil? ? true : false config[:sign_urls] = options[:sign_urls].nil? ? true : false config[:aliases] = options[:aliases] || {} end end
validate_config()
click to toggle source
# File lib/cloudimage/client.rb, line 40 def validate_config validate_site_config validate_signature_length end
validate_signature_length()
click to toggle source
# File lib/cloudimage/client.rb, line 52 def validate_signature_length return if config[:salt].nil? return if (6..40).cover? config[:signature_length] raise InvalidConfig, 'Signature length must be must be 6-40 characters.' end
validate_site_config()
click to toggle source
# File lib/cloudimage/client.rb, line 45 def validate_site_config return unless config[:token].nil? && config[:cname].nil? raise InvalidConfig, 'Please specify your customer token or a custom CNAME.' end