module SpiderMonkey::Helper
Public Instance Methods
async_resized_image_url(options, priority = "medium")
click to toggle source
# File lib/spider_monkey/helper.rb, line 22 def async_resized_image_url(options, priority = "medium") priority = "medium" unless ["low", "medium", "high"].include?(priority) resized_image_url(options).gsub(SpiderMonkey.configuration[:cloudfront_host], "usespidermonkey.com/api/v1/u/#{SpiderMonkey.configuration[:user_key]}") + "&priority=#{priority}" end
resized_image_url(options)
click to toggle source
# File lib/spider_monkey/helper.rb, line 3 def resized_image_url(options) options = options.reverse_merge( key: SpiderMonkey.configuration[:user_key] ) validation = SpiderMonkey::Validator.new(options).validate_options if validation[:passed] || validation[:recoverable] options = validation[:valid_options] options_string = spider_monkey_string_from_options_hash(options) signature = spider_monkey_signature_from_options_string(options_string) compressed_string = Base64.urlsafe_encode64(Zlib::Deflate.deflate(options_string)) "#{SpiderMonkey.configuration[:protocol]}://#{SpiderMonkey.configuration[:cloudfront_host]}/c?o=#{compressed_string}&s=#{signature}" else "" end end
Private Instance Methods
spider_monkey_signature_from_options_string(options_string)
click to toggle source
# File lib/spider_monkey/helper.rb, line 32 def spider_monkey_signature_from_options_string(options_string) secret = SpiderMonkey.configuration[:user_secret] OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha1'), secret, options_string) end
spider_monkey_string_from_options_hash(options)
click to toggle source
# File lib/spider_monkey/helper.rb, line 28 def spider_monkey_string_from_options_hash(options) json_string = options.to_json end