web47core 2.2.18 → 3.0.0

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: 2634a258267965ef476e8d35fa47a04ab43e0dcb0690d12496cdd1155b8c9c86
4
- data.tar.gz: a1f897abb8a68208537fd18d25f460ce2ec48156e05993d3b2627f46dcd462c7
3
+ metadata.gz: 566b3144e56826da109dad9c9aae596d8ae7f875d92d253f846dda027a44911b
4
+ data.tar.gz: 1e3688dcb0aea6d837b27a9417f085f6c0243577c2cc012cb65946ae22a3564f
5
5
  SHA512:
6
- metadata.gz: be313d46de430a646d0d0e847ab32a865a11b3c34455da3a6a327ee598680cde337e99e280506f507e07fe1a7a4cba57e9542d830107245ef5252643f1a411f0
7
- data.tar.gz: d024aafb910e644fffd3ac4615d30968703ad3d8a9b270f64f4e52f91f4dc6f0ebab9812781043dd346ae816035a7162764afa7478fb677469be1c663cf71b7e
6
+ metadata.gz: d355f655ffa529310e5b482b9cf24aec78dee43058214b48804f71db4aab8998bca051f5a6bff384dc5e3d4aa3f593b0ef65d6ff345598cb9dc2b03cdf556240
7
+ data.tar.gz: 2b57edd50900933a14f46bc39c8e382d5562cc422e542a5380b357544789972a2af1d3bbc636a5c118b17210086cc20fc1276613930d3b09dfacbe9a5adea7c9
data/README.md CHANGED
@@ -188,9 +188,7 @@ The following routes should be added to the correct namespace for your applicait
188
188
  #
189
189
  # System configuration
190
190
  #
191
- resource :system_configurations, only: %i[edit update show] do
192
- get :sync
193
- end
191
+ resource :system_configurations, only: %i[edit update show]
194
192
  #
195
193
  # Delayed jobs
196
194
  #
@@ -96,7 +96,13 @@ class StatusController < ActionController::Base
96
96
  #
97
97
  def delayed_jobs_status
98
98
  count = Delayed::Backend::Mongoid::Job.count
99
- report_success "#{count} Jobs", count: count
99
+ oldest = Delayed::Backend::Mongoid::Job.asc(:_id).limit(1).first
100
+ job_age = if oldest.present?
101
+ Time.now.utc.to_i - oldest.created_at.to_i
102
+ else
103
+ 0
104
+ end
105
+ report_success "#{count} Jobs", count: count, job_age: job_age
100
106
  rescue StandardError => error
101
107
  report_error(error)
102
108
  end
@@ -7,7 +7,6 @@
7
7
  .card-title=SystemConfiguration.environment.titleize
8
8
  .card-tray
9
9
  = edit_link_tag(SystemConfiguration, class_action_path(:edit))
10
- = replay_link_tag(SystemConfiguration, class_action_path(:sync))
11
10
  .card
12
11
  .card-content.section-data-tables
13
12
  %table.highlight.striped.data-table
@@ -16,7 +15,7 @@
16
15
  =table_header_tag :field
17
16
  =table_header_tag :value
18
17
  %tbody
19
- - SystemConfiguration.allowed_param_names.sort.each do |field|
18
+ - SystemConfiguration.allowed_param_names.each do |field|
20
19
  %tr
21
20
  %td=field
22
21
  %td=mask_system_configuration(field)
@@ -10,26 +10,15 @@ module CoreSystemConfigurationsController
10
10
  # Edit the system configuration
11
11
  #
12
12
  def edit
13
- system_configuration
14
- end
15
-
16
- # @abstract Cause the system configuration to be synced with the switchboard server
17
- def sync
18
- raise 'System Configuration not configured to sync' unless SystemConfiguration.switchboard_configured?
19
-
20
- Cron::SwitchboardSyncConfiguration.perform_later
21
- flash[:info] = 'System Configuration Refreshing in the Background'
22
- redirect_to index_path
23
- rescue StandardError => error
24
- log_controller_error error, true
25
- redirect_to index_path
13
+ load_configuration
26
14
  end
27
15
 
28
16
  #
29
17
  # Update and log the system configuration changes
30
18
  #
31
19
  def update
32
- system_configuration.update! system_configuration_params
20
+ # @system_configuration.update_attributes_and_log! @current_admin_user, system_configuration_params
21
+ SystemConfiguration.configuration.update! system_configuration_params
33
22
  if SystemConfiguration.switchboard_configured?
34
23
  flash[:info] = 'System Configuration Updated, sync job running in the background'
35
24
  Cron::SwitchboardSyncConfiguration.perform_later
@@ -39,7 +28,7 @@ module CoreSystemConfigurationsController
39
28
  redirect_to index_path
40
29
  rescue StandardError => error
41
30
  log_controller_error error
42
- system_configuration
31
+ load_configuration
43
32
  render :edit
44
33
  end
45
34
 
@@ -55,7 +44,7 @@ module CoreSystemConfigurationsController
55
44
  #
56
45
  # Load the current system configuration
57
46
  #
58
- def system_configuration
47
+ def load_configuration
59
48
  @system_configuration = SystemConfiguration.configuration
60
49
  end
61
50
  end
@@ -13,7 +13,6 @@ class ApplicationJob < ActiveJob::Base
13
13
  # Standard approach to running jobs
14
14
  #
15
15
  def perform(payload = {})
16
- Rails.cache.reconnect
17
16
  @started_at = Time.now.utc
18
17
  @payload = payload
19
18
  parse_payload
@@ -18,7 +18,7 @@ module Cron
18
18
  # Fields
19
19
  #
20
20
  field :name, type: String
21
- field :enabled, type: Boolean, default: true
21
+ field :enabled, type: Mongoid::Boolean, default: true
22
22
  field :min, type: String, default: 0
23
23
  field :hour, type: String, default: 0
24
24
  field :wday, type: String, default: WILDCARD
@@ -11,7 +11,7 @@ module ApiTokenable
11
11
  # store api token
12
12
  field :api_token, type: String
13
13
  # if the api token should be reset
14
- field :reset_api_token, type: Boolean, default: true
14
+ field :reset_api_token, type: Mongoid::Boolean, default: true
15
15
  field :last_authenticated_at, type: Time
16
16
  field :last_authenticated_ip, type: String
17
17
  # call back to reset the api token.
@@ -15,7 +15,6 @@ module AwsConfiguration
15
15
  field :aws_access_key_id, type: String
16
16
  field :aws_secret_access_key, type: String
17
17
  field :aws_auto_scaling_group_name, type: String
18
- field :aws_bucket_name, type: String
19
18
  end
20
19
  end
21
20
 
@@ -23,7 +22,7 @@ module AwsConfiguration
23
22
  # Make sure the password doesn't get blanked out on an update
24
23
  #
25
24
  def secure_fields
26
- super + %i[aws_secret_access_key]
25
+ super + %i[aws_access_secret]
27
26
  end
28
27
 
29
28
  #
@@ -39,28 +38,4 @@ module AwsConfiguration
39
38
  def aws_auto_scaling_configured?
40
39
  aws_configured? && aws_auto_scaling_group_name.present?
41
40
  end
42
-
43
- #
44
- # AWS client.
45
- #
46
- def aws_ec2_client
47
- return nil unless aws_configured?
48
-
49
- @aws_ec2_client ||= Aws::EC2::Client.new(region: aws_region,
50
- credentials: Aws::Credentials.new(aws_access_key_id,
51
- aws_secret_access_key))
52
- end
53
-
54
- #
55
- # S3 Client
56
- #
57
- def aws_s3_client
58
- return nil unless aws_configured?
59
-
60
- # We want this to remake itself each time because it is possible that the
61
- # => user would change the access keys in between actions. Huh?
62
- @aws_s3_client ||= Aws::S3::Client.new(region: aws_region,
63
- access_key_id: aws_access_key_id,
64
- secret_access_key: aws_secret_access_key)
65
- end
66
41
  end
@@ -17,9 +17,14 @@
17
17
  #
18
18
  module CdnUrl
19
19
  extend ActiveSupport::Concern
20
+ #
21
+ # Constants
22
+ #
23
+ STYLE_S3_FILE_PATH = ':class/:attachment/:id/:style.:extension' unless defined? STYLE_S3_FILE_PATH
24
+ STYLE_FILE_PATH = 'public/system/:class/:attachment/:id/:style.:extension' unless defined? STYLE_FILE_PATH
25
+ STYLE_S3_FILE_URL = ':s3_domain_url' unless defined? STYLE_S3_FILE_URL
26
+ STYLE_FILE_URL = ':rails_root/public/system/:class/:attachment/:id/:style.:extension' unless defined? STYLE_FILE_URL
20
27
 
21
- # @abstract Catch methods started with `cdn_` and respond to those requests if there is a
22
- # matching method ending in `_url`
23
28
  def method_missing(method, *args)
24
29
  if method.to_s.start_with? 'cdn_'
25
30
  url = if args.blank?
@@ -19,7 +19,7 @@ module CoreSmtpConfiguration
19
19
  field :smtp_port, type: Integer, default: 587
20
20
  field :smtp_user_name, type: String
21
21
  field :smtp_password, type: String
22
- field :smtp_enable_starttls_auto, type: Boolean, default: false
22
+ field :smtp_enable_starttls_auto, type: Mongoid::Boolean, default: false
23
23
  field :mailgun_api_key, type: String
24
24
  field :email_notification_ttl, type: Integer, default: 180
25
25
  end
@@ -23,7 +23,7 @@ module CoreSystemConfiguration
23
23
  # Fields
24
24
  #
25
25
  field :environment, type: String, default: 'test'
26
- field :fips_mode, type: Boolean, default: false
26
+ field :fips_mode, type: Mongoid::Boolean, default: false
27
27
  field :fav_icon_path, { type: String, default: '/favicon.ico' }
28
28
  field :stack_logo_path, { type: String, default: 'ui-company-logo.png' }
29
29
  field :primary_stylesheet, { type: String, default: 'app47' }
@@ -58,9 +58,9 @@ module CoreSystemConfiguration
58
58
  #
59
59
  # NOTE: Currently ignored Codacy issue: When using 'method_missing', fall back on 'super'
60
60
  #
61
- def method_missing(method, *args, &block)
61
+ def method_missing(method, ...)
62
62
  if configuration.respond_to?(method)
63
- configuration.send(method, *args, &block)
63
+ configuration.send(method, ...)
64
64
  else
65
65
  super
66
66
  end
@@ -13,7 +13,7 @@ module DelayedJobConfiguration
13
13
  #
14
14
  field :delayed_job_max_allowed_method, type: String, default: 'max'
15
15
  field :delayed_job_max_allowed_factor, type: Integer, default: 5
16
- field :delayed_job_restart_orphaned, type: Boolean, default: false
16
+ field :delayed_job_restart_orphaned, type: Mongoid::Boolean, default: false
17
17
  #
18
18
  # Validations
19
19
  #
@@ -17,7 +17,7 @@ module EmailAble
17
17
  field :email_bounced_at, type: Time
18
18
  field :email_bounce_reason, type: String
19
19
  field :unconfirmed_email, type: String
20
- field :email_enabled, type: Boolean, default: true
20
+ field :email_enabled, type: Mongoid::Boolean, default: true
21
21
  #
22
22
  # Validations
23
23
  #
@@ -13,7 +13,7 @@ module ServerProcessAble
13
13
  #
14
14
  field :host_name, type: String
15
15
  field :pid, type: Integer
16
- field :running, type: Boolean, default: false
16
+ field :running, type: Mongoid::Boolean, default: false
17
17
  field :last_check_in_at, type: Time
18
18
  #
19
19
  # Validations
@@ -69,7 +69,7 @@ module StandardModel
69
69
  names = field_names(filter_names)
70
70
  names += associations if include_relationships
71
71
  names.delete_if { |name| filter_names.include?(name) }
72
- rescue StandardError
72
+ rescue StandardError => error
73
73
  attribute_names.delete_if { |name| filter_names.include?(name) }
74
74
  end
75
75
 
@@ -87,12 +87,8 @@ module StandardModel
87
87
  #
88
88
  def many_to_many_associations
89
89
  associations = []
90
- reflect_on_all_associations.each do |association|
91
- if Mongoid::Compatibility::Version.mongoid7_or_newer?
92
- next unless association.relation == Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy
93
- else
94
- next unless association.macro == :has_and_belongs_to_many
95
- end
90
+ reflect_on_all_associations(:has_and_belongs_to_many).each do |association|
91
+ next unless association.relation == Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy
96
92
 
97
93
  associations << { association.key => [] }
98
94
  end
@@ -11,7 +11,7 @@ module Delayed
11
11
  #
12
12
  # Relationships
13
13
  #
14
- has_many :runs, class_name: 'Delayed::Jobs::Run', dependent: :restrict
14
+ has_many :runs, class_name: 'Delayed::Jobs::Run', dependent: :restrict_with_exception
15
15
 
16
16
  #
17
17
  # Record a job relative to the worker
@@ -7,7 +7,7 @@ class NotificationTemplate < Template
7
7
  #
8
8
  # Fields
9
9
  #
10
- field :draft, type: Boolean, default: true
10
+ field :draft, type: Mongoid::Boolean, default: true
11
11
  #
12
12
  # Relationships
13
13
  #
@@ -10,10 +10,10 @@ class SmtpConfiguration
10
10
  field :port, type: Integer, default: 587
11
11
  field :authentication_method, type: String
12
12
  field :confirmation_token, type: String
13
- field :confirmed, type: Boolean, default: false
13
+ field :confirmed, type: Mongoid::Boolean, default: false
14
14
  field :verification_message, type: String
15
- field :active, type: Boolean, default: false
16
- field :ssl, type: Boolean, default: false
15
+ field :active, type: Mongoid::Boolean, default: false
16
+ field :ssl, type: Mongoid::Boolean, default: false
17
17
  field :server_name, type: String
18
18
  field :username, type: String
19
19
  field :password, type: String
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Web47core
4
- VERSION = '2.2.18'
4
+ VERSION = '3.0.0'
5
5
  end
data/lib/web47core.rb CHANGED
@@ -9,7 +9,6 @@ require 'app/models/concerns/cdn_url'
9
9
  require 'app/models/concerns/delayed_job_configuration'
10
10
  require 'app/models/concerns/email_able'
11
11
  require 'app/models/concerns/encrypted_password'
12
- require 'app/models/concerns/google_sso_configuration'
13
12
  require 'app/models/concerns/search_able'
14
13
  require 'app/models/concerns/role_able'
15
14
  require 'app/models/concerns/time_zone_able'
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: 2.2.18
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Schroeder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-17 00:00:00.000000000 Z
11
+ date: 2022-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -44,100 +44,70 @@ dependencies:
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '1.52'
48
- - - "<"
49
- - !ruby/object:Gem::Version
50
- version: '2'
47
+ version: '0'
51
48
  type: :runtime
52
49
  prerelease: false
53
50
  version_requirements: !ruby/object:Gem::Requirement
54
51
  requirements:
55
52
  - - ">="
56
53
  - !ruby/object:Gem::Version
57
- version: '1.52'
58
- - - "<"
59
- - !ruby/object:Gem::Version
60
- version: '2'
54
+ version: '0'
61
55
  - !ruby/object:Gem::Dependency
62
56
  name: cancancan
63
57
  requirement: !ruby/object:Gem::Requirement
64
58
  requirements:
65
59
  - - ">="
66
60
  - !ruby/object:Gem::Version
67
- version: '3'
68
- - - "<"
69
- - !ruby/object:Gem::Version
70
- version: '4'
61
+ version: '0'
71
62
  type: :runtime
72
63
  prerelease: false
73
64
  version_requirements: !ruby/object:Gem::Requirement
74
65
  requirements:
75
66
  - - ">="
76
67
  - !ruby/object:Gem::Version
77
- version: '3'
78
- - - "<"
79
- - !ruby/object:Gem::Version
80
- version: '4'
68
+ version: '0'
81
69
  - !ruby/object:Gem::Dependency
82
70
  name: daemons
83
71
  requirement: !ruby/object:Gem::Requirement
84
72
  requirements:
85
73
  - - ">="
86
74
  - !ruby/object:Gem::Version
87
- version: 1.3.1
88
- - - "<"
89
- - !ruby/object:Gem::Version
90
- version: '2'
75
+ version: '0'
91
76
  type: :runtime
92
77
  prerelease: false
93
78
  version_requirements: !ruby/object:Gem::Requirement
94
79
  requirements:
95
80
  - - ">="
96
81
  - !ruby/object:Gem::Version
97
- version: 1.3.1
98
- - - "<"
99
- - !ruby/object:Gem::Version
100
- version: '2'
82
+ version: '0'
101
83
  - !ruby/object:Gem::Dependency
102
84
  name: delayed_job_mongoid
103
85
  requirement: !ruby/object:Gem::Requirement
104
86
  requirements:
105
87
  - - ">="
106
88
  - !ruby/object:Gem::Version
107
- version: '2.3'
108
- - - "<"
109
- - !ruby/object:Gem::Version
110
- version: '3'
89
+ version: '0'
111
90
  type: :runtime
112
91
  prerelease: false
113
92
  version_requirements: !ruby/object:Gem::Requirement
114
93
  requirements:
115
94
  - - ">="
116
95
  - !ruby/object:Gem::Version
117
- version: '2.3'
118
- - - "<"
119
- - !ruby/object:Gem::Version
120
- version: '3'
96
+ version: '0'
121
97
  - !ruby/object:Gem::Dependency
122
98
  name: email_format
123
99
  requirement: !ruby/object:Gem::Requirement
124
100
  requirements:
125
101
  - - ">="
126
102
  - !ruby/object:Gem::Version
127
- version: '1'
128
- - - "<"
129
- - !ruby/object:Gem::Version
130
- version: '2'
103
+ version: '0'
131
104
  type: :runtime
132
105
  prerelease: false
133
106
  version_requirements: !ruby/object:Gem::Requirement
134
107
  requirements:
135
108
  - - ">="
136
109
  - !ruby/object:Gem::Version
137
- version: '1'
138
- - - "<"
139
- - !ruby/object:Gem::Version
140
- version: '2'
110
+ version: '0'
141
111
  - !ruby/object:Gem::Dependency
142
112
  name: haml
143
113
  requirement: !ruby/object:Gem::Requirement
@@ -158,94 +128,70 @@ dependencies:
158
128
  requirements:
159
129
  - - ">="
160
130
  - !ruby/object:Gem::Version
161
- version: 2.2.0
162
- - - "<"
163
- - !ruby/object:Gem::Version
164
- version: '3'
131
+ version: '0'
165
132
  type: :runtime
166
133
  prerelease: false
167
134
  version_requirements: !ruby/object:Gem::Requirement
168
135
  requirements:
169
136
  - - ">="
170
137
  - !ruby/object:Gem::Version
171
- version: 2.2.0
172
- - - "<"
173
- - !ruby/object:Gem::Version
174
- version: '3'
138
+ version: '0'
175
139
  - !ruby/object:Gem::Dependency
176
140
  name: liquid
177
141
  requirement: !ruby/object:Gem::Requirement
178
142
  requirements:
179
143
  - - ">="
180
144
  - !ruby/object:Gem::Version
181
- version: '5'
182
- - - "<"
183
- - !ruby/object:Gem::Version
184
- version: '6'
145
+ version: '0'
185
146
  type: :runtime
186
147
  prerelease: false
187
148
  version_requirements: !ruby/object:Gem::Requirement
188
149
  requirements:
189
150
  - - ">="
190
151
  - !ruby/object:Gem::Version
191
- version: '5'
192
- - - "<"
193
- - !ruby/object:Gem::Version
194
- version: '6'
152
+ version: '0'
195
153
  - !ruby/object:Gem::Dependency
196
154
  name: materialize-sass
197
155
  requirement: !ruby/object:Gem::Requirement
198
156
  requirements:
199
157
  - - ">="
200
158
  - !ruby/object:Gem::Version
201
- version: 1.0.0
202
- - - "<"
203
- - !ruby/object:Gem::Version
204
- version: '2'
159
+ version: '0'
205
160
  type: :runtime
206
161
  prerelease: false
207
162
  version_requirements: !ruby/object:Gem::Requirement
208
163
  requirements:
209
164
  - - ">="
210
165
  - !ruby/object:Gem::Version
211
- version: 1.0.0
212
- - - "<"
213
- - !ruby/object:Gem::Version
214
- version: '2'
166
+ version: '0'
215
167
  - !ruby/object:Gem::Dependency
216
168
  name: mongoid
217
169
  requirement: !ruby/object:Gem::Requirement
218
170
  requirements:
219
- - - "<"
171
+ - - "~>"
220
172
  - !ruby/object:Gem::Version
221
- version: '7'
173
+ version: 7.5.2
222
174
  type: :runtime
223
175
  prerelease: false
224
176
  version_requirements: !ruby/object:Gem::Requirement
225
177
  requirements:
226
- - - "<"
178
+ - - "~>"
227
179
  - !ruby/object:Gem::Version
228
- version: '7'
180
+ version: 7.5.2
229
181
  - !ruby/object:Gem::Dependency
230
182
  name: rails
231
183
  requirement: !ruby/object:Gem::Requirement
232
184
  requirements:
233
- - - ">="
234
- - !ruby/object:Gem::Version
235
- version: '5'
236
- - - "<"
185
+ - - "~>"
237
186
  - !ruby/object:Gem::Version
238
- version: '6'
187
+ version: 6.1.7
239
188
  type: :runtime
240
189
  prerelease: false
241
190
  version_requirements: !ruby/object:Gem::Requirement
242
191
  requirements:
243
- - - ">="
244
- - !ruby/object:Gem::Version
245
- version: '5'
246
- - - "<"
192
+ - - "~>"
247
193
  - !ruby/object:Gem::Version
248
- version: '6'
194
+ version: 6.1.7
249
195
  - !ruby/object:Gem::Dependency
250
196
  name: railties
251
197
  requirement: !ruby/object:Gem::Requirement
@@ -266,60 +212,28 @@ dependencies:
266
212
  requirements:
267
213
  - - ">="
268
214
  - !ruby/object:Gem::Version
269
- version: '4.2'
270
- - - "<"
271
- - !ruby/object:Gem::Version
272
- version: '5'
273
- type: :runtime
274
- prerelease: false
275
- version_requirements: !ruby/object:Gem::Requirement
276
- requirements:
277
- - - ">="
278
- - !ruby/object:Gem::Version
279
- version: '4.2'
280
- - - "<"
281
- - !ruby/object:Gem::Version
282
- version: '5'
283
- - !ruby/object:Gem::Dependency
284
- name: redis-rails
285
- requirement: !ruby/object:Gem::Requirement
286
- requirements:
287
- - - ">="
288
- - !ruby/object:Gem::Version
289
- version: '5'
290
- - - "<"
291
- - !ruby/object:Gem::Version
292
- version: '6'
215
+ version: '0'
293
216
  type: :runtime
294
217
  prerelease: false
295
218
  version_requirements: !ruby/object:Gem::Requirement
296
219
  requirements:
297
220
  - - ">="
298
221
  - !ruby/object:Gem::Version
299
- version: '5'
300
- - - "<"
301
- - !ruby/object:Gem::Version
302
- version: '6'
222
+ version: '0'
303
223
  - !ruby/object:Gem::Dependency
304
224
  name: rest-client
305
225
  requirement: !ruby/object:Gem::Requirement
306
226
  requirements:
307
227
  - - ">="
308
228
  - !ruby/object:Gem::Version
309
- version: 2.1.0
310
- - - "<"
311
- - !ruby/object:Gem::Version
312
- version: '3'
229
+ version: '0'
313
230
  type: :runtime
314
231
  prerelease: false
315
232
  version_requirements: !ruby/object:Gem::Requirement
316
233
  requirements:
317
234
  - - ">="
318
235
  - !ruby/object:Gem::Version
319
- version: 2.1.0
320
- - - "<"
321
- - !ruby/object:Gem::Version
322
- version: '3'
236
+ version: '0'
323
237
  - !ruby/object:Gem::Dependency
324
238
  name: sass
325
239
  requirement: !ruby/object:Gem::Requirement
@@ -354,14 +268,14 @@ dependencies:
354
268
  requirements:
355
269
  - - ">="
356
270
  - !ruby/object:Gem::Version
357
- version: '5'
271
+ version: '0'
358
272
  type: :runtime
359
273
  prerelease: false
360
274
  version_requirements: !ruby/object:Gem::Requirement
361
275
  requirements:
362
276
  - - ">="
363
277
  - !ruby/object:Gem::Version
364
- version: '5'
278
+ version: '0'
365
279
  - !ruby/object:Gem::Dependency
366
280
  name: tzinfo
367
281
  requirement: !ruby/object:Gem::Requirement
@@ -382,20 +296,14 @@ dependencies:
382
296
  requirements:
383
297
  - - ">="
384
298
  - !ruby/object:Gem::Version
385
- version: '1'
386
- - - "<"
387
- - !ruby/object:Gem::Version
388
- version: '2'
299
+ version: '0'
389
300
  type: :runtime
390
301
  prerelease: false
391
302
  version_requirements: !ruby/object:Gem::Requirement
392
303
  requirements:
393
304
  - - ">="
394
305
  - !ruby/object:Gem::Version
395
- version: '1'
396
- - - "<"
397
- - !ruby/object:Gem::Version
398
- version: '2'
306
+ version: '0'
399
307
  - !ruby/object:Gem::Dependency
400
308
  name: valid_url
401
309
  requirement: !ruby/object:Gem::Requirement
@@ -428,36 +336,30 @@ dependencies:
428
336
  name: codacy-coverage
429
337
  requirement: !ruby/object:Gem::Requirement
430
338
  requirements:
431
- - - '='
339
+ - - ">="
432
340
  - !ruby/object:Gem::Version
433
- version: 2.2.1
341
+ version: '0'
434
342
  type: :development
435
343
  prerelease: false
436
344
  version_requirements: !ruby/object:Gem::Requirement
437
345
  requirements:
438
- - - '='
346
+ - - ">="
439
347
  - !ruby/object:Gem::Version
440
- version: 2.2.1
348
+ version: '0'
441
349
  - !ruby/object:Gem::Dependency
442
350
  name: database_cleaner-mongoid
443
351
  requirement: !ruby/object:Gem::Requirement
444
352
  requirements:
445
353
  - - ">="
446
354
  - !ruby/object:Gem::Version
447
- version: '2'
448
- - - "<"
449
- - !ruby/object:Gem::Version
450
- version: '3'
355
+ version: '0'
451
356
  type: :development
452
357
  prerelease: false
453
358
  version_requirements: !ruby/object:Gem::Requirement
454
359
  requirements:
455
360
  - - ">="
456
361
  - !ruby/object:Gem::Version
457
- version: '2'
458
- - - "<"
459
- - !ruby/object:Gem::Version
460
- version: '3'
362
+ version: '0'
461
363
  - !ruby/object:Gem::Dependency
462
364
  name: factory_bot
463
365
  requirement: !ruby/object:Gem::Requirement
@@ -492,20 +394,14 @@ dependencies:
492
394
  requirements:
493
395
  - - ">="
494
396
  - !ruby/object:Gem::Version
495
- version: '3'
496
- - - "<"
497
- - !ruby/object:Gem::Version
498
- version: '4'
397
+ version: '0'
499
398
  type: :development
500
399
  prerelease: false
501
400
  version_requirements: !ruby/object:Gem::Requirement
502
401
  requirements:
503
402
  - - ">="
504
403
  - !ruby/object:Gem::Version
505
- version: '3'
506
- - - "<"
507
- - !ruby/object:Gem::Version
508
- version: '4'
404
+ version: '0'
509
405
  - !ruby/object:Gem::Dependency
510
406
  name: minitest
511
407
  requirement: !ruby/object:Gem::Requirement
@@ -524,16 +420,16 @@ dependencies:
524
420
  name: minitest-rails
525
421
  requirement: !ruby/object:Gem::Requirement
526
422
  requirements:
527
- - - "~>"
423
+ - - ">="
528
424
  - !ruby/object:Gem::Version
529
- version: '3'
425
+ version: '0'
530
426
  type: :development
531
427
  prerelease: false
532
428
  version_requirements: !ruby/object:Gem::Requirement
533
429
  requirements:
534
- - - "~>"
430
+ - - ">="
535
431
  - !ruby/object:Gem::Version
536
- version: '3'
432
+ version: '0'
537
433
  - !ruby/object:Gem::Dependency
538
434
  name: minitest-reporters
539
435
  requirement: !ruby/object:Gem::Requirement
@@ -566,16 +462,16 @@ dependencies:
566
462
  name: shoulda
567
463
  requirement: !ruby/object:Gem::Requirement
568
464
  requirements:
569
- - - ">="
465
+ - - "~>"
570
466
  - !ruby/object:Gem::Version
571
- version: '0'
467
+ version: 4.0.0
572
468
  type: :development
573
469
  prerelease: false
574
470
  version_requirements: !ruby/object:Gem::Requirement
575
471
  requirements:
576
- - - ">="
472
+ - - "~>"
577
473
  - !ruby/object:Gem::Version
578
- version: '0'
474
+ version: 4.0.0
579
475
  - !ruby/object:Gem::Dependency
580
476
  name: shoulda-matchers
581
477
  requirement: !ruby/object:Gem::Requirement
@@ -591,7 +487,7 @@ dependencies:
591
487
  - !ruby/object:Gem::Version
592
488
  version: '0'
593
489
  - !ruby/object:Gem::Dependency
594
- name: simplecov
490
+ name: shoulda-context
595
491
  requirement: !ruby/object:Gem::Requirement
596
492
  requirements:
597
493
  - - ">="
@@ -605,7 +501,7 @@ dependencies:
605
501
  - !ruby/object:Gem::Version
606
502
  version: '0'
607
503
  - !ruby/object:Gem::Dependency
608
- name: test-unit
504
+ name: simplecov
609
505
  requirement: !ruby/object:Gem::Requirement
610
506
  requirements:
611
507
  - - ">="
@@ -619,45 +515,33 @@ dependencies:
619
515
  - !ruby/object:Gem::Version
620
516
  version: '0'
621
517
  - !ruby/object:Gem::Dependency
622
- name: vcr
518
+ name: test-unit
623
519
  requirement: !ruby/object:Gem::Requirement
624
520
  requirements:
625
521
  - - ">="
626
522
  - !ruby/object:Gem::Version
627
- version: '6'
628
- - - "<"
629
- - !ruby/object:Gem::Version
630
- version: '7'
523
+ version: '0'
631
524
  type: :development
632
525
  prerelease: false
633
526
  version_requirements: !ruby/object:Gem::Requirement
634
527
  requirements:
635
528
  - - ">="
636
529
  - !ruby/object:Gem::Version
637
- version: '6'
638
- - - "<"
639
- - !ruby/object:Gem::Version
640
- version: '7'
530
+ version: '0'
641
531
  - !ruby/object:Gem::Dependency
642
532
  name: webmock
643
533
  requirement: !ruby/object:Gem::Requirement
644
534
  requirements:
645
535
  - - ">="
646
536
  - !ruby/object:Gem::Version
647
- version: '3.11'
648
- - - "<"
649
- - !ruby/object:Gem::Version
650
- version: '4'
537
+ version: '0'
651
538
  type: :development
652
539
  prerelease: false
653
540
  version_requirements: !ruby/object:Gem::Requirement
654
541
  requirements:
655
542
  - - ">="
656
543
  - !ruby/object:Gem::Version
657
- version: '3.11'
658
- - - "<"
659
- - !ruby/object:Gem::Version
660
- version: '4'
544
+ version: '0'
661
545
  description: Core components used in all our web products.
662
546
  email:
663
547
  - chris@app47.com
@@ -762,7 +646,6 @@ files:
762
646
  - lib/app/models/concerns/delayed_job_configuration.rb
763
647
  - lib/app/models/concerns/email_able.rb
764
648
  - lib/app/models/concerns/encrypted_password.rb
765
- - lib/app/models/concerns/google_sso_configuration.rb
766
649
  - lib/app/models/concerns/role_able.rb
767
650
  - lib/app/models/concerns/search_able.rb
768
651
  - lib/app/models/concerns/secure_fields.rb
@@ -812,14 +695,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
812
695
  requirements:
813
696
  - - "~>"
814
697
  - !ruby/object:Gem::Version
815
- version: '2.7'
698
+ version: 3.0.2
816
699
  required_rubygems_version: !ruby/object:Gem::Requirement
817
700
  requirements:
818
701
  - - ">="
819
702
  - !ruby/object:Gem::Version
820
703
  version: '0'
821
704
  requirements: []
822
- rubygems_version: 3.1.2
705
+ rubygems_version: 3.2.22
823
706
  signing_key:
824
707
  specification_version: 4
825
708
  summary: App47 Web Core Library.
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- #
4
- # Google SSO Configuration
5
- #
6
- module GoogleSsoConfiguration
7
- extend ActiveSupport::Concern
8
-
9
- def self.included(base)
10
- base.class_eval do
11
- #
12
- # Fields
13
- #
14
- field :google_client_id, type: String
15
- field :google_client_secret, type: String
16
- end
17
- end
18
-
19
- #
20
- # Make sure the password doesn't get blanked out on an update
21
- #
22
- def secure_fields
23
- super + %i[google_client_secret]
24
- end
25
-
26
- #
27
- # Determine if AWS is configured
28
- #
29
- def google_sso_configured?
30
- google_client_id.present? && google_client_secret.present?
31
- end
32
- end