Sha256: 2e401ea880b5d989c582f7d2e527f78f175311dfbb0f98af8b89e5fd459a4a0e

Contents?: true

Size: 690 Bytes

Versions: 10

Compression:

Stored size: 690 Bytes

Contents

# frozen_string_literal: true

require 'digest'

module Uploadcare
  module Param
    module Upload
      # This class generates signatures for protected uploads
      class SignatureGenerator
        # @see https://uploadcare.com/docs/api_reference/upload/signed_uploads/
        # @return [Hash] signature and its expiration time
        def self.call
          expires_at = Time.now.to_i + Uploadcare.config.upload_signature_lifetime
          to_sign = Uploadcare.config.secret_key + expires_at.to_s
          signature = Digest::MD5.hexdigest(to_sign)
          {
            'signature': signature,
            'expire': expires_at
          }
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
uploadcare-ruby-4.2.0 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-3.3.2 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-3.3.1 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-3.3.0 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-3.2.0 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-3.1.1 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-3.1.0 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-3.1.0.pre.rc1 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-3.0.5 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-3.0.3 lib/uploadcare/param/upload/signature_generator.rb