web47core 3.2.3.29 → 3.2.3.30

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: da5eed78b518a4431c3c388673c767af0fe35ca33395656d37515a369d97bed5
4
- data.tar.gz: 5970b5bf1240b5672761df3509eb33b50191fc8ef28246aa471ce5b34c5f4303
3
+ metadata.gz: 2f2f736da8b94ec286fb7f058993c995c47eca9f0b31e32bf9ce836aa77f70c3
4
+ data.tar.gz: 94a764cdd7e74c7a28d91855b69b646572405d035954f36ef13c0967cf6c3f13
5
5
  SHA512:
6
- metadata.gz: 3cfbd7379b539f47a66b25103f1b94b6b3fa41be032fc596c94ef48485bfba803c89f5e47cf0346057ed71d028dd8ebf72e541f9de3a1be0faf5f9060b7d619a
7
- data.tar.gz: b7e01bda72d4461e54881206ca07be39d37724cb5a9d8a909540e638439c1a983398e5f376e99606af7ee34080d57877e33df980d442f1f03ff9bd6483e4006a
6
+ metadata.gz: 658278516a6ad09337c857bd2ad2e4fbf1ee32881890d06034d003778dad2cd46ab24934ea8237962f7a1c9d917800a9922f7f338a228b640e520a0c4fcd33fc
7
+ data.tar.gz: a485be8d18a431e76ff5887ec0e8c739a597cd1fb67c431c7668383e51788c56f05a3b1823477800dea7cc250ded36fe5614c55b88f2b1fe895d1d5950dd6d20
@@ -43,6 +43,9 @@ module CoreSystemConfiguration
43
43
  #
44
44
  validates :environment, presence: true, uniqueness: true
45
45
  validates :default_time_zone, presence: true
46
+ validates :base_url, http_url: true
47
+ validates :cdn_url, http_url: true
48
+ validates :asset_cdn_url, http_url: true
46
49
  end
47
50
  base.extend ClassMethods
48
51
  end
@@ -18,7 +18,7 @@ module SlackConfiguration
18
18
  #
19
19
  # Validations
20
20
  #
21
- validates :slack_api_url, url: true, allow_blank: true
21
+ validates :slack_api_url, http_url: true, allow_blank: true
22
22
  validates :slack_support_channel, presence: true
23
23
  validates :slack_sales_channel, presence: true
24
24
  end
@@ -18,7 +18,7 @@ module SwitchboardConfiguration
18
18
  #
19
19
  # Validations
20
20
  #
21
- validates :switchboard_base_url, url: true
21
+ validates :switchboard_base_url, http_url: true
22
22
  end
23
23
  end
24
24
 
@@ -19,7 +19,7 @@ module ZendeskConfiguration
19
19
  #
20
20
  # Validations
21
21
  #
22
- validates :zendesk_base_url, url: true
22
+ validates :zendesk_base_url, http_url: true
23
23
  end
24
24
  end
25
25
 
@@ -0,0 +1,20 @@
1
+ # Validator for ensuring that an attribute contains a valid HTTP or HTTPS URL.
2
+ # Uses URI.parse to verify the scheme and the presence of a host.
3
+ class HttpUrlValidator < ActiveModel::EachValidator
4
+
5
+ # Validates the format of the URL provided in the attribute.
6
+ #
7
+ # @param record [ActiveModel::Model] The record being validated.
8
+ # @param attribute [Symbol] The name of the attribute being validated.
9
+ # @param value [Object] The value of the attribute to check.
10
+ def validate_each(record, attribute, value)
11
+ return if value.blank?
12
+
13
+ uri = URI.parse(value)
14
+ return if uri.is_a?(URI::HTTP) && uri.host.present?
15
+
16
+ record.errors.add(attribute, "is not a valid URL")
17
+ rescue URI::InvalidURIError
18
+ record.errors.add(attribute, "is not a valid URL")
19
+ end
20
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Web47core
4
- VERSION = '3.2.3.29'
4
+ VERSION = '3.2.3.30'
5
5
  end
data/lib/web47core.rb CHANGED
@@ -93,3 +93,4 @@ require 'app/controllers/concerns/core_delayed_job_workers_controller'
93
93
  # Validators
94
94
  #
95
95
  require 'app/validators/email_format_validator'
96
+ require 'app/validators/http_url_validator'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web47core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.3.29
4
+ version: 3.2.3.30
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Schroeder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-23 00:00:00.000000000 Z
11
+ date: 2026-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -192,34 +192,6 @@ dependencies:
192
192
  - - ">="
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
- - !ruby/object:Gem::Dependency
196
- name: validate_url
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - ">="
200
- - !ruby/object:Gem::Version
201
- version: '0'
202
- type: :runtime
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - ">="
207
- - !ruby/object:Gem::Version
208
- version: '0'
209
- - !ruby/object:Gem::Dependency
210
- name: valid_url
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - ">="
214
- - !ruby/object:Gem::Version
215
- version: '0'
216
- type: :runtime
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - ">="
221
- - !ruby/object:Gem::Version
222
- version: '0'
223
195
  - !ruby/object:Gem::Dependency
224
196
  name: aws-sdk-ecs
225
197
  requirement: !ruby/object:Gem::Requirement
@@ -416,6 +388,20 @@ dependencies:
416
388
  - - ">="
417
389
  - !ruby/object:Gem::Version
418
390
  version: '0'
391
+ - !ruby/object:Gem::Dependency
392
+ name: rubocop
393
+ requirement: !ruby/object:Gem::Requirement
394
+ requirements:
395
+ - - ">="
396
+ - !ruby/object:Gem::Version
397
+ version: '0'
398
+ type: :development
399
+ prerelease: false
400
+ version_requirements: !ruby/object:Gem::Requirement
401
+ requirements:
402
+ - - ">="
403
+ - !ruby/object:Gem::Version
404
+ version: '0'
419
405
  - !ruby/object:Gem::Dependency
420
406
  name: shoulda
421
407
  requirement: !ruby/object:Gem::Requirement
@@ -6621,6 +6607,7 @@ files:
6621
6607
  - lib/app/models/user_audit_log.rb
6622
6608
  - lib/app/models/user_model_audit_log.rb
6623
6609
  - lib/app/validators/email_format_validator.rb
6610
+ - lib/app/validators/http_url_validator.rb
6624
6611
  - lib/merge_coverage.rb
6625
6612
  - lib/templates/email/notification_failure.liquid
6626
6613
  - lib/templates/email/notification_failure.subject.liquid