cats_core 1.0.26 → 1.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3f7140f7b94aaf47e0b5cfcb9ad89515a6884a6f59c685d7bf3b10978d2239e8
4
- data.tar.gz: d10e11f6f3506f4513921bb85814d1303bea873558c8603241b87df4474aa777
3
+ metadata.gz: 0e916c12f4c3ac194aee51c1692ddba4484e234e64f020565d72e4bea7081c4e
4
+ data.tar.gz: 28e582506d6bbbca6e33bc3f84bc698f9652e3f57684b4c14f15722e0f65ff7f
5
5
  SHA512:
6
- metadata.gz: 6a63abe18b61954481d0e758aa4a714bc201d2270febe2b86c157806c8ba9a7dafc44399177079fe5bf5bfed3dc916634cfae1a711ab3030ee8c2a95cc9c514a
7
- data.tar.gz: 0ec75ce43af82a2dd05e1b3d7836893e273741c7cbb2bc074e49582cf0231b9105d8e4d9b0f0d44a08760dd40cb9bdd83e8b1bbcb4dbbce47ae3711417de64d1
6
+ metadata.gz: d3baf1a07032560ee3136ff454fb4ab21db27d17afdd8eeabe826b4d49c811d261f0a7880c4ae80bafabe03d66ab8a0b699a49fe66fd123a5618b1d3c9dcd285
7
+ data.tar.gz: f2633626ae8ba4c082618c0406657e0b4378af44d97c5416b329326aaf3dd77584b095541cd257b12698df525ab235b165f147a814dcbf3ca2049869e07a30e0
@@ -0,0 +1,17 @@
1
+ module Cats
2
+ module Core
3
+ class Allocation < ApplicationRecord
4
+ belongs_to :rhn_request, optional: true
5
+ belongs_to :commodity
6
+ belongs_to :source, class_name: 'Cats::Core::Location'
7
+
8
+ validates :commodity_status, presence: true
9
+ validates :quantity, presence: true, numericality: { greater_than: 0 }
10
+ validates :commodity_status, inclusion: { in: Cats::Core::Commodity::COMMODITY_STATUSES }
11
+
12
+ delegate(:reference_no, to: :rhn_request, prefix: :rhn, allow_nil: true)
13
+ delegate(:batch_no, to: :commodity, prefix: true)
14
+ delegate(:name, to: :source, prefix: true)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,18 @@
1
+ module Cats
2
+ module Core
3
+ class AllocationItem < ApplicationRecord
4
+ belongs_to :allocation
5
+ belongs_to :destination, class_name: 'Cats::Core::Location'
6
+
7
+ validates :from, :to, presence: true
8
+ validates :quantity, presence: true, numericality: { greater_than: 0 }
9
+ validate :validate_source_and_destination
10
+
11
+ def validate_source_and_destination
12
+ return unless allocation.present? && destination.present?
13
+
14
+ errors.add(:base, 'source and destination cannot be the same') if allocation.source == destination
15
+ end
16
+ end
17
+ end
18
+ end
@@ -26,6 +26,7 @@ module Cats
26
26
 
27
27
  delegate(:abbreviation, to: :unit_of_measure, prefix: true)
28
28
  delegate(:name, to: :commodity_category, prefix: true)
29
+ delegate(:reference_no, to: :source, prefix: true)
29
30
 
30
31
  def set_approved
31
32
  return unless new_record?
@@ -3,7 +3,7 @@ module Cats
3
3
  class Dispatch < ApplicationRecord
4
4
  belongs_to :prepared_by, class_name: 'Cats::Core::User'
5
5
  belongs_to :transporter
6
- belongs_to :commodity_allocation
6
+ belongs_to :allocation_item
7
7
 
8
8
  validates :reference_no, :plate_no, :driver_name, :driver_phone, :quantity, :commodity_status, presence: true
9
9
  validates :reference_no, uniqueness: true
@@ -0,0 +1,10 @@
1
+ module Cats
2
+ module Core
3
+ class RhnRequest < ApplicationRecord
4
+ belongs_to :commodity
5
+
6
+ validates :reference_no, :request_date, presence: true
7
+ validates :reference_no, uniqueness: true
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,15 @@
1
+ class CreateCatsCoreRhnRequests < ActiveRecord::Migration[6.1]
2
+ def change
3
+ create_table :cats_core_rhn_requests do |t|
4
+ t.string :reference_no, unique: true
5
+ t.references :commodity,
6
+ null: false,
7
+ index: { name: 'commodity_on_rhn_indx' },
8
+ foreign_key: { to_table: :cats_core_commodities }
9
+ t.date :request_date, null: false
10
+ t.string :requested_by
11
+
12
+ t.timestamps
13
+ end
14
+ end
15
+ end
@@ -1,6 +1,10 @@
1
- class CreateCatsCoreCommodityAllocations < ActiveRecord::Migration[6.1]
1
+ class CreateCatsCoreAllocations < ActiveRecord::Migration[6.1]
2
2
  def change
3
- create_table :cats_core_commodity_allocations do |t|
3
+ create_table :cats_core_allocations do |t|
4
+ t.references :rhn_request,
5
+ null: true,
6
+ index: { name: 'rr_on_allocation_indx' },
7
+ foreign_key: { to_table: :cats_core_rhn_requests }
4
8
  t.references :commodity,
5
9
  null: false,
6
10
  index: { name: 'ca_on_commodity_indx' },
@@ -9,10 +13,6 @@ class CreateCatsCoreCommodityAllocations < ActiveRecord::Migration[6.1]
9
13
  null: false,
10
14
  index: { name: 'ca_on_source_indx' },
11
15
  foreign_key: { to_table: :cats_core_locations }
12
- t.references :destination,
13
- null: false,
14
- index: { name: 'ca_on_destination_indx' },
15
- foreign_key: { to_table: :cats_core_locations }
16
16
  t.float :quantity, null: false
17
17
  t.string :commodity_status, null: false, default: 'Good'
18
18
  t.string :remark
@@ -0,0 +1,19 @@
1
+ class CreateCatsCoreAllocationItems < ActiveRecord::Migration[6.1]
2
+ def change
3
+ create_table :cats_core_allocation_items do |t|
4
+ t.references :allocation,
5
+ null: false,
6
+ index: { name: 'allocation_on_ai_indx' },
7
+ foreign_key: { to_table: :cats_core_allocations }
8
+ t.references :destination,
9
+ null: false,
10
+ index: { name: 'destination_on_ai_indx'},
11
+ foreign_key: { to_table: :cats_core_locations }
12
+ t.float :quantity, null: false
13
+ t.date :from, null: false
14
+ t.date :to, null: false
15
+
16
+ t.timestamps
17
+ end
18
+ end
19
+ end
@@ -2,10 +2,10 @@ class CreateCatsCoreDispatches < ActiveRecord::Migration[6.1]
2
2
  def change
3
3
  create_table :cats_core_dispatches do |t|
4
4
  t.string :reference_no, unique: true
5
- t.references :commodity_allocation,
5
+ t.references :allocation_item,
6
6
  null: false,
7
- index: { name: 'ca_on_dispatches_indx' },
8
- foreign_key: { to_table: :cats_core_commodity_allocations }
7
+ index: { name: 'ai_on_dispatches_indx' },
8
+ foreign_key: { to_table: :cats_core_allocation_items }
9
9
  t.references :transporter,
10
10
  null: false,
11
11
  index: { name: 'transporter_on_dispatches_indx' },
@@ -1,5 +1,5 @@
1
1
  module Cats
2
2
  module Core
3
- VERSION = '1.0.26'.freeze
3
+ VERSION = '1.0.30'.freeze
4
4
  end
5
5
  end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :allocation_item, class: 'Cats::Core::AllocationItem' do
3
+ allocation
4
+ destination factory: :location
5
+ quantity { 100 }
6
+ from { Date.today }
7
+ to { Date.today + 1.week }
8
+ end
9
+ end
@@ -1,8 +1,8 @@
1
1
  FactoryBot.define do
2
- factory :commodity_allocation, class: 'Cats::Core::CommodityAllocation' do
2
+ factory :allocation, class: 'Cats::Core::Allocation' do
3
+ rhn_request { nil }
3
4
  commodity
4
5
  source factory: :location
5
- destination factory: :location
6
6
  quantity { 50 }
7
7
  commodity_status { Cats::Core::Commodity::GOOD }
8
8
  remark { FFaker::Name.name }
@@ -1,7 +1,7 @@
1
1
  FactoryBot.define do
2
2
  factory :dispatch, class: 'Cats::Core::Dispatch' do
3
3
  reference_no { FFaker::Name.name }
4
- commodity_allocation
4
+ allocation_item
5
5
  transporter
6
6
  plate_no { FFaker::Name.name }
7
7
  driver_name { FFaker::Name.name }
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :rhn_request, class: 'Cats::Core::RhnRequest' do
3
+ reference_no { FFaker::Name.name }
4
+ commodity
5
+ request_date { Date.today }
6
+ requested_by { FFaker::Name.name }
7
+ end
8
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cats_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.26
4
+ version: 1.0.30
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-07 00:00:00.000000000 Z
11
+ date: 2021-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers
@@ -226,10 +226,11 @@ files:
226
226
  - app/controllers/cats/core/roles_controller.rb
227
227
  - app/controllers/cats/core/users_controller.rb
228
228
  - app/jobs/cats/core/application_job.rb
229
+ - app/models/cats/core/allocation.rb
230
+ - app/models/cats/core/allocation_item.rb
229
231
  - app/models/cats/core/application_module.rb
230
232
  - app/models/cats/core/application_record.rb
231
233
  - app/models/cats/core/commodity.rb
232
- - app/models/cats/core/commodity_allocation.rb
233
234
  - app/models/cats/core/commodity_category.rb
234
235
  - app/models/cats/core/currency.rb
235
236
  - app/models/cats/core/dispatch.rb
@@ -249,6 +250,7 @@ files:
249
250
  - app/models/cats/core/ration.rb
250
251
  - app/models/cats/core/receipt.rb
251
252
  - app/models/cats/core/receipt_transaction.rb
253
+ - app/models/cats/core/rhn_request.rb
252
254
  - app/models/cats/core/role.rb
253
255
  - app/models/cats/core/role_menu.rb
254
256
  - app/models/cats/core/stack.rb
@@ -293,7 +295,9 @@ files:
293
295
  - db/migrate/20210717140855_create_cats_core_stores.rb
294
296
  - db/migrate/20210717171101_create_cats_core_stacks.rb
295
297
  - db/migrate/20210718042749_create_cats_core_transporters.rb
296
- - db/migrate/20210718042823_create_cats_core_commodity_allocations.rb
298
+ - db/migrate/20210718042755_create_cats_core_rhn_requests.rb
299
+ - db/migrate/20210718042823_create_cats_core_allocations.rb
300
+ - db/migrate/20210718043204_create_cats_core_allocation_items.rb
297
301
  - db/migrate/20210718045516_create_cats_core_dispatches.rb
298
302
  - db/migrate/20210718202957_create_cats_core_dispatch_transactions.rb
299
303
  - db/migrate/20210719133710_create_cats_core_stacking_rules.rb
@@ -306,9 +310,10 @@ files:
306
310
  - lib/cats/core/version.rb
307
311
  - lib/cats_core.rb
308
312
  - lib/tasks/cats_core_tasks.rake
313
+ - spec/factories/cats/core/allocation_items.rb
314
+ - spec/factories/cats/core/allocations.rb
309
315
  - spec/factories/cats/core/application_modules.rb
310
316
  - spec/factories/cats/core/commodities.rb
311
- - spec/factories/cats/core/commodity_allocations.rb
312
317
  - spec/factories/cats/core/commodity_categories.rb
313
318
  - spec/factories/cats/core/currencies.rb
314
319
  - spec/factories/cats/core/dispatch_transactions.rb
@@ -328,6 +333,7 @@ files:
328
333
  - spec/factories/cats/core/rations.rb
329
334
  - spec/factories/cats/core/receipt_transactions.rb
330
335
  - spec/factories/cats/core/receipts.rb
336
+ - spec/factories/cats/core/rhn_requests.rb
331
337
  - spec/factories/cats/core/role_menus.rb
332
338
  - spec/factories/cats/core/roles.rb
333
339
  - spec/factories/cats/core/stack_transactions.rb
@@ -1,19 +0,0 @@
1
- module Cats
2
- module Core
3
- class CommodityAllocation < ApplicationRecord
4
- belongs_to :commodity
5
- belongs_to :source, class_name: 'Cats::Core::Location'
6
- belongs_to :destination, class_name: 'Cats::Core::Location'
7
-
8
- validates :quantity, :commodity_status, presence: true
9
- validates :commodity_status, inclusion: { in: Cats::Core::Commodity::COMMODITY_STATUSES }
10
- validate :validate_source_and_destination
11
-
12
- def validate_source_and_destination
13
- return unless source.present? && destination.present?
14
-
15
- errors.add(:base, 'source and destination cannot be the same') if source == destination
16
- end
17
- end
18
- end
19
- end