cats_core 1.3.7 → 1.3.8

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: 9380d0ff2181f5043d3c4d4f6251dde2561d5b08013959b6848558b505dbba2d
4
- data.tar.gz: 1dc278bcfb116197b0c04620de35f042669a11e5690ce14fa93959a252f0e922
3
+ metadata.gz: b1553e2d695935cb7ac616b368580c59cef5f8a92b277829e41a8dd4ca7ff46b
4
+ data.tar.gz: 47d3a8a40f9e0c6ac3a8bddd98d2fb60943ade15288a3453b168273205f8f726
5
5
  SHA512:
6
- metadata.gz: 0cecc9ef0cf5fc29c4b912e5b513afd23db6f6d607a93bdcd927348b2f11928df5624ccde4ae80b12048db368f1da25f4b8781b5a22014cb1b1fc2e0e251dba5
7
- data.tar.gz: e3e5fbbe9e672a276f80a1d90e5c4b6a1958b5ccf894b1196387a7e9f50ce44a3d8285afdbcc8100c04b91702f9efa55b3b099074fd44330c6aa3ec38df53f6b
6
+ metadata.gz: c78f415988f1055f643caa4e6479c94b72f92b9c76775a1ab5bcd8578e52b999d49f43884d7b6177b7f76113db3571924bc2226390235057e244d695a060bd54
7
+ data.tar.gz: 1a7d8a00314ad8a56e0bc802f164fc9d48e600d9b97cfe609db2c81ef69fd175f44b28dbeae46e4a0d0a498586ddd35c8af98b6f394675cfdddae23b79dd0175
@@ -3,9 +3,12 @@ module Cats
3
3
  class MonthlyPlan < ApplicationRecord
4
4
  belongs_to :ration
5
5
  belongs_to :plan
6
+ belongs_to :regional_request
6
7
 
7
8
  validates :reference_no, presence: true, uniqueness: true
8
9
  validates :status, presence: true, inclusion: { in: Cats::Core::Plan::STATUSES }
10
+
11
+ delegate(:reference_no, to: :regional_request, prefix: 'request')
9
12
  end
10
13
  end
11
14
  end
@@ -2,12 +2,14 @@ module Cats
2
2
  module Core
3
3
  class RegionalRequest < ApplicationRecord
4
4
  belongs_to :plan
5
+ belongs_to :region, class_name: 'Cats::Core::Location'
5
6
 
6
7
  validates :reference_no, presence: true, uniqueness: true
7
8
  validates :beneficiaries, :no_of_days, :month, presence: true, numericality: { greater_than: 0 }
8
- validate :validate_month, :validate_beneficiaries
9
+ validate :validate_month, :validate_beneficiaries, :validate_region
9
10
 
10
11
  delegate(:reference_no, to: :plan, prefix: true)
12
+ delegate(:name, to: :region, prefix: true)
11
13
 
12
14
  def validate_month
13
15
  return unless month
@@ -23,6 +25,12 @@ module Cats
23
25
  total = plan.plan_items.sum(:beneficiaries)
24
26
  errors.add(:beneficiaries, "cannot be higher than #{total}.") if total < beneficiaries
25
27
  end
28
+
29
+ def validate_region
30
+ return unless region
31
+
32
+ errors.add(:region, 'is not valid.') unless region.location_type == Cats::Core::Location::REGION
33
+ end
26
34
  end
27
35
  end
28
36
  end
@@ -9,6 +9,10 @@ class CreateCatsCoreRegionalRequests < ActiveRecord::Migration[6.1]
9
9
  null: false,
10
10
  index: { name: 'plan_on_rr_indx' },
11
11
  foreign_key: { to_table: :cats_core_plans }
12
+ t.references :region,
13
+ null: false,
14
+ index: { name: 'region_on_rr_indx' },
15
+ foreign_key: { to_table: :cats_core_locations }
12
16
 
13
17
  t.timestamps
14
18
  end
@@ -11,6 +11,10 @@ class CreateCatsCoreMonthlyPlans < ActiveRecord::Migration[6.1]
11
11
  null: false,
12
12
  index: { name: 'plan_on_mp_indx' },
13
13
  foreign_key: { to_table: :cats_core_plans }
14
+ t.references :regional_request,
15
+ null: false,
16
+ index: { name: 'rr_on_mp_indx' },
17
+ foreign_key: { to_table: :cats_core_regional_requests }
14
18
 
15
19
  t.timestamps
16
20
  end
@@ -1,5 +1,5 @@
1
1
  module Cats
2
2
  module Core
3
- VERSION = '1.3.7'.freeze
3
+ VERSION = '1.3.8'.freeze
4
4
  end
5
5
  end
@@ -4,5 +4,6 @@ FactoryBot.define do
4
4
  status { Cats::Core::Plan::DRAFT }
5
5
  ration
6
6
  plan
7
+ regional_request
7
8
  end
8
9
  end
@@ -5,6 +5,7 @@ FactoryBot.define do
5
5
  3.times { create(:plan_item, plan: pl, beneficiaries: 100) }
6
6
  pl
7
7
  end
8
+ region factory: :location
8
9
  reference_no { FFaker::Name.name }
9
10
  beneficiaries { 100 }
10
11
  month { 1 }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cats_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.7
4
+ version: 1.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.