Sha256: 4101ae1d88510627d34268e8591403b70ee699a815dfcb22b584977ecf62c68f

Contents?: true

Size: 619 Bytes

Versions: 3

Compression:

Stored size: 619 Bytes

Contents

module Gamification
  module Checksum
    # Generate a checksum from the given values.
    #
    # values - An Array of values.
    #
    # Returns a String.
    def self.generate values
      Digest::MD5.hexdigest "#{secret_key}#{values.join}"
    end

    # Verify a given checksum against the given values.
    #
    # checksum - A String describing a checksum.
    # values   - An Array of values.
    #
    # Returns a boolean.
    def self.verify checksum, values
      checksum == generate(values)
    end

    private

    def self.secret_key
      Rails.application.secrets[:secret_key_base]
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gamification-1.0.3 lib/gamification/checksum.rb
gamification-1.0.2 lib/gamification/checksum.rb
gamification-1.0.1 lib/gamification/checksum.rb