Sha256: 4ba9b24c42887124f653bc21fcb2231ebdca3b9ab6ba3c6b3e15d1f5063d6995

Contents?: true

Size: 530 Bytes

Versions: 3

Compression:

Stored size: 530 Bytes

Contents

require 'digest/sha1'

module Preserve
  class SessionKey
    def initialize(controller_class, parameter_key)
      @controller_class = controller_class
      @parameter_key = parameter_key
    end

    def build
      [:preserve, calculate_digest].join('_')
    end

    private

    attr_reader :controller_class
    attr_reader :parameter_key

    def calculate_digest
      Digest::SHA1.hexdigest(input_data)
    end

    def input_data
      [controller_class, parameter_key.class, parameter_key].join('_')
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
preserve-2.1.0 lib/preserve/session_key.rb
preserve-2.0.1 lib/preserve/session_key.rb
preserve-2.0.0 lib/preserve/session_key.rb