summaryrefslogtreecommitdiff
path: root/vendor/certificate_authority/lib/certificate_authority/serial_number.rb
blob: 99f30022dba84db72f5a7840a4e6f2a673697843 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require 'securerandom'

module CertificateAuthority
  class SerialNumber
    include Validations
    include Revocable

    attr_accessor :number

    def validate
      if self.number.nil?
        errors.add :number, "must not be empty"
      elsif self.number.to_i <= 0
        errors.add :number, "must be greater than zero"
      end
    end

    def initialize
      self.number = SecureRandom.random_number(2**128-1)
    end
  end
end