Sha256: 918bd85f1fd3063939f41235421277118590b658d0b5bca640f667f4854808ac

Contents?: true

Size: 686 Bytes

Versions: 11

Compression:

Stored size: 686 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

11 entries across 11 versions & 1 rubygems

Version Path
uploadcare-ruby-4.4.3 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-4.4.2 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-4.4.1 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-4.4.0 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-4.3.6 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-4.3.5 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-4.3.4 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-4.3.3 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-4.3.2 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-4.3.1 lib/uploadcare/param/upload/signature_generator.rb
uploadcare-ruby-4.3.0 lib/uploadcare/param/upload/signature_generator.rb