bscf-core 0.3.8 → 0.3.9

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: be072a51d0509a498f9683b71b886449e71b1e8299dcc24fa59cce90e6c86b39
4
- data.tar.gz: 36289d1c7adc36848678a1349db0c38b75b46ef46af12bdee7f41d58972d6682
3
+ metadata.gz: 4ee1e49157229f6ffa55b4398736e7ec0991cc5db23790e73a037325e6b160ac
4
+ data.tar.gz: a51afde1e6f6c2c6ac07c89344ca4727afbea861c9bc4c2b8949df77558aa524
5
5
  SHA512:
6
- metadata.gz: adca5ae63efc6ac469bbdb57c0f968e6ec755bec13b75a3e0a42fda6b810da733515139438258c23f47f3f9a9384e0c294039339273a78f21b2c4283f302d2bf
7
- data.tar.gz: 5f08a90a84b77d1dff75ac489a7c3ebe08063aa63fdb6c18bbe3d402320488883eb9e43b39f8fafd49b8b7fed2c964b050095aad4d54dabfd0008c69491751c3
6
+ metadata.gz: 34a9ed632852bbc6601208876c65ad129e0b9db2bac39742a6fdd25c793f020f0fdcd48ec418a51bfe88d394c987a05634dd875a7ea26c3e7306a030db08bf78
7
+ data.tar.gz: 62f85d3fb562f30b6031e6e36b9029bf3bc1b8139461d33122241f6bb91fbb68810a1eb8d37258ede93ca912d245cfc924602224bc735388ae66ce0e59b4130b
@@ -7,16 +7,29 @@ module Bscf
7
7
  has_one :user_role
8
8
  has_many :user_roles
9
9
  has_many :roles, through: :user_roles
10
-
11
10
  has_many :orders_placed, class_name: "Bscf::Core::Order", foreign_key: "ordered_by_id"
12
11
  has_many :orders_received, class_name: "Bscf::Core::Order", foreign_key: "ordered_to_id"
13
12
 
14
13
  validates :first_name, presence: true
15
14
  validates :middle_name, presence: true
16
15
  validates :last_name, presence: true
17
- validates :password, presence: true
18
- validates :phone_number, presence: true, uniqueness: true
19
- validates :email, presence: true, uniqueness: true
16
+ validates :phone_number, presence: true
17
+ validates :phone_number, uniqueness: true
18
+ validates :email, uniqueness: true, allow_nil: true
19
+ validates :password,
20
+ presence: true,
21
+ length: { is: 6 },
22
+ format: {
23
+ with: /\A\d{6}\z/,
24
+ message: "must be exactly 6 digits"
25
+ },
26
+ if: :password_required?
27
+
28
+ private
29
+
30
+ def password_required?
31
+ new_record? || password.present?
32
+ end
20
33
  end
21
34
  end
22
35
  end
@@ -0,0 +1,6 @@
1
+ class ModifyUserEmailAndPassword < ActiveRecord::Migration[8.0]
2
+ def change
3
+ change_column_null :bscf_core_users, :email, true
4
+ change_column :bscf_core_users, :password_digest, :string, limit: 60, null: false
5
+ end
6
+ end
@@ -1,5 +1,5 @@
1
1
  module Bscf
2
2
  module Core
3
- VERSION = "0.3.8"
3
+ VERSION = "0.3.9"
4
4
  end
5
5
  end
@@ -3,8 +3,8 @@ FactoryBot.define do
3
3
  first_name { Faker::Name.first_name }
4
4
  middle_name { Faker::Name.middle_name }
5
5
  last_name { Faker::Name.last_name }
6
- password { Faker::Internet.password }
7
6
  email { Faker::Internet.email }
8
- phone_number { Faker::Alphanumeric.alpha(number: 10) }
7
+ phone_number { Faker::PhoneNumber.cell_phone }
8
+ password { rand(100000..999999).to_s }
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bscf-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.8
4
+ version: 0.3.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Asrat
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-04-11 00:00:00.000000000 Z
10
+ date: 2025-04-17 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: active_model_serializers
@@ -337,6 +337,7 @@ files:
337
337
  - db/migrate/20250410115524_create_bscf_core_vehicles.rb
338
338
  - db/migrate/20250410181144_add_delivery_details_to_delivery_orders.rb
339
339
  - db/migrate/20250410181145_add_actual_delivery_time_to_delivery_orders.rb
340
+ - db/migrate/20250410181146_modify_user_email_and_password.rb
340
341
  - lib/bscf/core.rb
341
342
  - lib/bscf/core/engine.rb
342
343
  - lib/bscf/core/version.rb