cats_core 1.0.27 → 1.0.28

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: b39ab8dfbbd491a6a9e68acfd75dcf77f88a477e5fe1eb2bce823a17dd857bd8
4
+ data.tar.gz: ffe26682256958cfb286feda0ae58f498922ed65c505af9401298fef5a7b7b44
5
5
  SHA512:
6
- metadata.gz: c353f8a17d427a846408ad27ea90c6d3114179ff4634e7b2e8410f058861bf70114be3d75c2992da2be24bf16649d5b4f3717a52b9e901db3945d51f5d08ddbc
7
- data.tar.gz: 79f09a8add5e295b1fe5414137c4986e70f74e01613bb75291f5f802380fbbc5b3ed4b588fa4e79bb75863f885462e195b24a5ca25bd12d705e39e821bca5710
6
+ metadata.gz: 16218f6af68d849f4550848cffc761e265b4cf80972d6befc8edbe19aed2eff86730299042c7ed098f372b8c55f77a698638fcaf8ca5317001db07bc0d21da86
7
+ data.tar.gz: e7a54575147d96397141682e144749767cc9be51abb89876c382202550531842876cba3c3a87800d01fc9671f3cc8fec056f29f992e3507a0f4a33423756f85b
@@ -0,0 +1,13 @@
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
+ end
12
+ end
13
+ 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
@@ -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.27'.freeze
3
+ VERSION = '1.0.28'.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.27
4
+ version: 1.0.28
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