Sha256: f4eb43ac86a606e9caf737fee6026ff0b69912cf54c3f4aafecfc1893edd6cc8

Contents?: true

Size: 548 Bytes

Versions: 15

Compression:

Stored size: 548 Bytes

Contents

require 'ardm/property/string'

require 'digest/sha1'

module Ardm
  class Property
    class APIKey < String

      # The amount of random seed data to use to generate tha API Key
      PADDING = 256

      length 40
      unique true
      default proc { APIKey.generate }

      #
      # Generates a new API Key.
      #
      # @return [String]
      #   The new API Key.
      #
      def self.generate
        sha1 = Digest::SHA1.new

        PADDING.times { sha1 << rand(256).chr }
        return sha1.hexdigest
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
ardm-0.4.0.ar427 lib/ardm/property/api_key.rb
ardm-0.4.0 lib/ardm/property/api_key.rb
ardm-0.3.2 lib/ardm/property/api_key.rb
ardm-0.3.1 lib/ardm/property/api_key.rb
ardm-0.3.0 lib/ardm/property/api_key.rb
ardm-0.2.7 lib/ardm/property/api_key.rb
ardm-0.2.6 lib/ardm/property/api_key.rb
ardm-0.2.5 lib/ardm/property/api_key.rb
ardm-0.2.4 lib/ardm/property/api_key.rb
ardm-0.2.3 lib/ardm/property/api_key.rb
ardm-0.2.2 lib/ardm/property/api_key.rb
ardm-0.2.1 lib/ardm/property/api_key.rb
ardm-0.2.0 lib/ardm/property/api_key.rb
ardm-0.1.0 lib/ardm/property/api_key.rb
ardm-0.0.1 lib/ardm/property/api_key.rb