cats_core 1.0.27 → 1.0.31

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 970aba78ce14d116f4047df8371d5ca03949f5a668bd2c613cdfb494e652e9e4
4
- data.tar.gz: ca25ae5f908ba942045b39f91679a8e365cd171541d008e088e46ff3d8a166e9
3
+ metadata.gz: 92c92ad5a8c3217ca857e5d95aaddde5ad9556b25c206614f2744e5d696f2ee4
4
+ data.tar.gz: fe266e3f9f932fe21b4f4996fadcc505c2d1699c840a309fa2d32c753a4a4dfd
5
5
  SHA512:
6
- metadata.gz: c353f8a17d427a846408ad27ea90c6d3114179ff4634e7b2e8410f058861bf70114be3d75c2992da2be24bf16649d5b4f3717a52b9e901db3945d51f5d08ddbc
7
- data.tar.gz: 79f09a8add5e295b1fe5414137c4986e70f74e01613bb75291f5f802380fbbc5b3ed4b588fa4e79bb75863f885462e195b24a5ca25bd12d705e39e821bca5710
6
+ metadata.gz: 8614644d7542857a67b1377eab58bdae75dfca934e7e044af12efc54a0cd5b4a11cc6578d36adffcc8fb025853a14bd20aeaf35e331dbdbbc061816eb52a7537
7
+ data.tar.gz: 7e81ca5270047990027b0a139df28a4a73814fce52df296734a3519f89f0d4b1e251a659e262ffaa4f68ed874fc4302112b62cd000416e5057c9bf65d3fb2eaf
@@ -0,0 +1,18 @@
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 :reference_no, presence: true, uniqueness: true
10
+ validates :quantity, presence: true, numericality: { greater_than: 0 }
11
+ validates :commodity_status, inclusion: { in: Cats::Core::Commodity::COMMODITY_STATUSES }
12
+
13
+ delegate(:reference_no, to: :rhn_request, prefix: :rhn, allow_nil: true)
14
+ delegate(:batch_no, to: :commodity, prefix: true)
15
+ delegate(:name, to: :source, prefix: true)
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,21 @@
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
+
17
+ delegate(:name, to: :destination, prefix: true)
18
+ delegate(:reference_no, to: :allocation, prefix: true)
19
+ end
20
+ end
21
+ end
@@ -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,12 @@
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
+
9
+ delegate(:batch_no, to: :commodity, prefix: true)
10
+ end
11
+ end
12
+ 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,11 @@
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.string :reference_no, unique: true
5
+ t.references :rhn_request,
6
+ null: true,
7
+ index: { name: 'rr_on_allocation_indx' },
8
+ foreign_key: { to_table: :cats_core_rhn_requests }
4
9
  t.references :commodity,
5
10
  null: false,
6
11
  index: { name: 'ca_on_commodity_indx' },
@@ -9,10 +14,6 @@ class CreateCatsCoreCommodityAllocations < ActiveRecord::Migration[6.1]
9
14
  null: false,
10
15
  index: { name: 'ca_on_source_indx' },
11
16
  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
17
  t.float :quantity, null: false
17
18
  t.string :commodity_status, null: false, default: 'Good'
18
19
  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.27'.freeze
3
+ VERSION = '1.0.31'.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,9 @@
1
1
  FactoryBot.define do
2
- factory :commodity_allocation, class: 'Cats::Core::CommodityAllocation' do
2
+ factory :allocation, class: 'Cats::Core::Allocation' do
3
+ reference_no { FFaker::Name.name }
4
+ rhn_request { nil }
3
5
  commodity
4
6
  source factory: :location
5
- destination factory: :location
6
7
  quantity { 50 }
7
8
  commodity_status { Cats::Core::Commodity::GOOD }
8
9
  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.27
4
+ version: 1.0.31
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