lib/referehencible.rb in referehencible-0.0.1 vs lib/referehencible.rb in referehencible-0.1.0

- old
+ new

@@ -1,31 +1,34 @@ require 'referehencible/version' +require 'securerandom' module Referehencible def self.included(base) base.class_eval do ### # Validations # - validates :reference_number, + validates :guid, presence: true, uniqueness: true, + format: { + with: /[a-f0-9]{32}/ }, length: { is: 16 } ### # Hooks # - before_create :generate_reference_number + before_create :generate_guid ### # ActiveRecord Overrides # - def reference_number; generate_reference_number; end + def guid; generate_guid; end end end private - def generate_reference_number - read_attribute(:reference_number) || write_attribute('reference_number', SecureRandom.hex(8)) + def generate_guid + read_attribute(:guid) || write_attribute('guid', SecureRandom.hex(16)) end end