Sha256: 2feced9cf6906c13f98504b768a44440ca5a962a85f6d19f7b14fb0f426dc859

Contents?: true

Size: 749 Bytes

Versions: 65

Compression:

Stored size: 749 Bytes

Contents

module Comee
  module Core
    class GoodsReceivedNote < ApplicationRecord
      before_create :set_grn_number
      belongs_to :purchase_order
      has_many :received_items

      validates :grn_number, uniqueness: true
      validates :date_of_receipt, presence: true
      validates :total_quantity, :total_amount, presence: true, numericality: {greater_than_or_equal_to: 0}

      private

      def set_grn_number
        self.grn_number = generate_grn_number
      end

      def generate_grn_number
        loop do
          number = SecureRandom.random_number(10000000)
          grn_number = "GRN-#{number}"

          break grn_number unless GoodsReceivedNote.where(grn_number: grn_number).exists?
        end
      end
    end
  end
end

Version data entries

65 entries across 65 versions & 1 rubygems

Version Path
comee_core-0.3.62 app/models/comee/core/goods_received_note.rb
comee_core-0.3.61 app/models/comee/core/goods_received_note.rb
comee_core-0.3.60 app/models/comee/core/goods_received_note.rb
comee_core-0.3.59 app/models/comee/core/goods_received_note.rb
comee_core-0.3.58 app/models/comee/core/goods_received_note.rb
comee_core-0.3.57 app/models/comee/core/goods_received_note.rb
comee_core-0.3.56 app/models/comee/core/goods_received_note.rb
comee_core-0.3.55 app/models/comee/core/goods_received_note.rb
comee_core-0.3.54 app/models/comee/core/goods_received_note.rb
comee_core-0.3.53 app/models/comee/core/goods_received_note.rb
comee_core-0.3.51 app/models/comee/core/goods_received_note.rb
comee_core-0.3.50 app/models/comee/core/goods_received_note.rb
comee_core-0.3.49 app/models/comee/core/goods_received_note.rb
comee_core-0.3.48 app/models/comee/core/goods_received_note.rb
comee_core-0.3.47 app/models/comee/core/goods_received_note.rb
comee_core-0.3.46 app/models/comee/core/goods_received_note.rb
comee_core-0.3.45 app/models/comee/core/goods_received_note.rb
comee_core-0.3.44 app/models/comee/core/goods_received_note.rb
comee_core-0.3.43 app/models/comee/core/goods_received_note.rb
comee_core-0.3.42 app/models/comee/core/goods_received_note.rb