comee_core 0.1.84 → 0.1.85

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: 88c220e6b121eb2fc8a4191d432f5063df0bad832d3489443798c44618421797
4
- data.tar.gz: 78c951ec96109410776b2345b927772a6e069ef078b558e69f7bbef0b49fca67
3
+ metadata.gz: 65a6f4cc76af66361e5d6d21999a8a38a0c2598f83980632783f7b1add6488ca
4
+ data.tar.gz: 554dc63474d64f44982cb4aea62040ab41f65c4c93fa517afd7a08d1e04d09d1
5
5
  SHA512:
6
- metadata.gz: 726ab140419d49fb2b08bc68beb970cdc3f5f34ea5de70ed0f65d90a4b2930fb3a976def5dadd5837ca48e5c5a237d75dec8b5ad333c380f048302c224d588e7
7
- data.tar.gz: 0a49d0031869536a37b50af5a67d86ca6e51bfc3631d3191965c90270d2dbe14949e748464ad164530543a48e353b355ed012321a6ada12dc574592301519aa5
6
+ metadata.gz: fac12797a1ebd3ae197a2622ea494cbbce2af911c0d3862510e742aa7b9a9aa1f01a37d336d5b551b80bf4440146a5541e72029a67599fda1aa733e3e7ce225e
7
+ data.tar.gz: 6c2e2ddda7b6921cb9a8c39c9138fd2d9dd8c2e8573a2bfee18191f671bf64e5b1a7dea57116a5d9b8d36d1744e5bb0cded3727c86175a5944d454fae7a1d611
@@ -0,0 +1,16 @@
1
+ module Comee
2
+ module Core
3
+ class TimeSlot < ApplicationRecord
4
+ belongs_to :transport_availability
5
+
6
+ validates :from, :to, presence: true
7
+ validate :validate_time_range
8
+
9
+ def validate_time_range
10
+ return unless from && to
11
+
12
+ errors.add(:base, "From must be before to.") if from >= to
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,8 @@
1
+ module Comee
2
+ module Core
3
+ class TransportAvailability < ApplicationRecord
4
+ validates :availability_date, presence: true, uniqueness: true
5
+ validates :weekday, :weekday_short, presence: true
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,12 @@
1
+ class CreateComeeCoreTransportAvailability < ActiveRecord::Migration[7.1]
2
+ def change
3
+ create_table :comee_core_transport_availabilities do |t|
4
+ t.date :availability_date, null: false
5
+ t.string :weekday, null: false
6
+ t.string :weekday_short, null: false
7
+
8
+ t.timestamps
9
+ end
10
+ add_index :comee_core_transport_availabilities, :availability_date, unique: true
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ class CreateComeeCoreTimeSlots < ActiveRecord::Migration[7.1]
2
+ def change
3
+ create_table :comee_core_time_slots do |t|
4
+ t.references :transport_availability,
5
+ null: false,
6
+ index: {name: "ta_on_ccts_indx"},
7
+ foreign_key: {to_table: :comee_core_transport_availabilities}
8
+ t.time :from, null: false
9
+ t.time :to, null: false
10
+
11
+ t.timestamps
12
+ end
13
+ end
14
+ end
@@ -1,5 +1,5 @@
1
1
  module Comee
2
2
  module Core
3
- VERSION = "0.1.84".freeze
3
+ VERSION = "0.1.85".freeze
4
4
  end
5
5
  end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :time_slot, class: "Comee::Core::TimeSlot" do
3
+ transport_availability
4
+ from { Time.current.strftime("%H:%M") }
5
+ to { Time.current.advance(hours: 1).strftime("%H:%M") }
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ FactoryBot.define do
2
+ factory :transport_availability, class: "Comee::Core::TransportAvailability" do
3
+ availability_date do
4
+ d = Date.current
5
+ d.advance(days: 1) if d.wday == 7
6
+ d.advance(days: 2) if d.wday == 6
7
+ d
8
+ end
9
+ weekday { availability_date.strftime("%A") }
10
+ weekday_short { availability_date.strftime("%a") }
11
+ end
12
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comee_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.84
4
+ version: 0.1.85
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-09 00:00:00.000000000 Z
11
+ date: 2024-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers
@@ -344,6 +344,8 @@ files:
344
344
  - app/models/comee/core/shipment_instruction_item.rb
345
345
  - app/models/comee/core/shipment_item.rb
346
346
  - app/models/comee/core/supplier.rb
347
+ - app/models/comee/core/time_slot.rb
348
+ - app/models/comee/core/transport_availability.rb
347
349
  - app/models/comee/core/unit.rb
348
350
  - app/models/comee/core/unit_conversion.rb
349
351
  - app/models/comee/core/user.rb
@@ -427,6 +429,8 @@ files:
427
429
  - db/migrate/20231207235542_create_comee_core_item_statuses.rb
428
430
  - db/migrate/20240104131607_create_comee_core_shipment_instructions.rb
429
431
  - db/migrate/20240104143246_create_comee_core_shipment_instruction_items.rb
432
+ - db/migrate/20240109185749_create_comee_core_transport_availability.rb
433
+ - db/migrate/20240109185931_create_comee_core_time_slots.rb
430
434
  - lib/comee/core.rb
431
435
  - lib/comee/core/engine.rb
432
436
  - lib/comee/core/version.rb
@@ -464,6 +468,8 @@ files:
464
468
  - spec/factories/comee/core/shipment_instructions.rb
465
469
  - spec/factories/comee/core/shipment_items.rb
466
470
  - spec/factories/comee/core/suppliers.rb
471
+ - spec/factories/comee/core/time_slots.rb
472
+ - spec/factories/comee/core/transport_availabilities.rb
467
473
  - spec/factories/comee/core/unit_conversions.rb
468
474
  - spec/factories/comee/core/units.rb
469
475
  - spec/factories/comee/core/users.rb