web47core 0.8.5 → 0.9.0

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: 905ca3d7fded036e8b80b3815fce050c3eb75ecc3666e9f3033abbed129bea4f
4
- data.tar.gz: 670beb30aa2dbe5751bdeb42b3b65fe09d120392dd726dcc691d2cbad9f53126
3
+ metadata.gz: b16d9b0b72656026fc126f56d58ca8b1a8e99843feeec96e6892ac139bb4870e
4
+ data.tar.gz: 624d9b7f27b76d83a1962bb9bed017c766c61323ba507626ed8c56baaf2a9166
5
5
  SHA512:
6
- metadata.gz: eaeb13b4b2117327fb0fd5cddb7a0bb89642356caf10f085b936c9820a1e9d89d118a1e0f3cad52667a1f463db26c7f2d8f536979c15dd151d533da70530b82e
7
- data.tar.gz: 5f6cc5fe0baea5cc355f25c29ddc161623f42718e9581b9dd6ef45a4d63aaf318d15faa08be6cdecc114e5565811fbe057fd85e3910b78e360af3e1d25e0fdc0
6
+ metadata.gz: d835b86f996ed2b6d3871f9a3a57e1226f2603592990ec42104a769350ab896c9dec7de884cd3ccca6f7cd1bda8164d64447da910c690c6a75d711c925a4319c
7
+ data.tar.gz: 05da6cc82d68d43c244933dcd10db0ce6be3bb5f915b57325b35cff8d6c89e8f5121e1debb0f626b7312efd3d9ac107872eb3a512e1e03be7226c0971b8d72d9
@@ -5,7 +5,7 @@ module Cron
5
5
  # Value object for a cron tab entry
6
6
  #
7
7
  class JobTab < Tab
8
- FRAMEWORK_CLASSES = %w[Job TrimCollection Command Server Tab JobTab].freeze unless defined? FRAMEWORK_CLASSES
8
+ FRAMEWORK_CLASSES = %w[job trim_collection command server tab job_tab].freeze unless defined? FRAMEWORK_CLASSES
9
9
  #
10
10
  # Validations
11
11
  #
@@ -36,7 +36,7 @@ module Cron
36
36
  end
37
37
 
38
38
  def job_names
39
- @job_names ||= Cron.constants.collect do |job|
39
+ @job_names ||= all_jobs.collect do |job|
40
40
  job_name = job.to_s
41
41
  next if FRAMEWORK_CLASSES.include?(job_name) || job_name.end_with?('Test') || job_name.start_with?('Base')
42
42
 
@@ -46,6 +46,14 @@ module Cron
46
46
 
47
47
  private
48
48
 
49
+ def all_jobs
50
+ (list_jobs("#{__dir__}/*.rb") + list_jobs(Rails.root.join('app/jobs/cron/*.rb'))).compact.uniq
51
+ end
52
+
53
+ def list_jobs(directory)
54
+ Dir[directory].collect { |file| file.split('/cron/').last.split('.rb').first }
55
+ end
56
+
49
57
  def configure_cron_tab(tab, type)
50
58
  case type
51
59
  when :always
@@ -11,6 +11,8 @@ module Cron
11
11
  # Constants
12
12
  #
13
13
  WILDCARD = '*' unless defined? WILDCARD
14
+ COMMA_DELIM = ',' unless defined? COMMA_DELIM
15
+ SLASH_DEMO = '/' unless defined? SLASH_DEMO
14
16
  TIME_UNITS = %i[min hour wday mday month].freeze unless defined? TIME_UNITS
15
17
  #
16
18
  # Fields
@@ -45,7 +47,7 @@ module Cron
45
47
  # For completion of class, but must be implemented by child class
46
48
  #
47
49
  def run
48
- set last_run_at: Time.now.utc
50
+ set({ last_run_at: Time.now.utc })
49
51
  end
50
52
 
51
53
  private
@@ -69,11 +71,11 @@ module Cron
69
71
  when Integer
70
72
  range.include?(value)
71
73
  else
72
- if value.include?('/')
73
- (numerator, divisor) = value.split('/')
74
+ if value.include?(SLASH_DEMO)
75
+ (numerator, divisor) = value.split(SLASH_DEMO)
74
76
  range.include?(divisor.to_i) && numerator.eql?(WILDCARD)
75
- elsif value.include?(',')
76
- options = value.split(',')
77
+ elsif value.include?(COMMA_DELIM)
78
+ options = value.split(COMMA_DELIM)
77
79
  options.collect { |o| range.include?(o.to_i) }.all?
78
80
  else
79
81
  range.include?(value.to_i)
@@ -96,11 +98,11 @@ module Cron
96
98
  when Integer
97
99
  time.send(unit).eql?(target)
98
100
  else
99
- if target.include?('/')
100
- divisor = target.split('/').last.to_i
101
+ if target.include?(SLASH_DEMO)
102
+ divisor = target.split(SLASH_DEMO).last.to_i
101
103
  (time.send(unit) % divisor).zero?
102
- elsif target.include?(',')
103
- options = target.split(',')
104
+ elsif target.include?(COMMA_DELIM)
105
+ options = target.split(COMMA_DELIM)
104
106
  options.collect { |o| time.send(unit.eql?(o.to_i)) }.any?
105
107
  else
106
108
  time.send(unit).eql?(target.to_i)
@@ -12,18 +12,6 @@ module Cron
12
12
  AuditLog.all
13
13
  end
14
14
 
15
- #
16
- # Check which audit logs we wanted deleted
17
- #
18
- # Should be older than 90 days and either not a user model audit log or the model associated with
19
- # the UserModelAuditLog has been deleted
20
- #
21
- def archive?(item)
22
- super && (!item.is_a?(UserModelAuditLog) || item.model.blank?)
23
- rescue StandardError
24
- super
25
- end
26
-
27
15
  #
28
16
  # Allowed time the amount of time allowed to exists before deleting
29
17
  #
@@ -68,6 +68,8 @@ module CoreSystemConfiguration
68
68
  field :switchboard_stack_id, type: String
69
69
  field :switchboard_stack_api_token, type: String
70
70
  field :switchboard_last_sync_at, type: Time
71
+ # Audit Logs TTL
72
+ field :user_model_audit_log_ttl, type: Integer, default: 365
71
73
  #
72
74
  # Validations
73
75
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Web47core
4
- VERSION = '0.8.5'
4
+ VERSION = '0.9.0'
5
5
  end
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: 0.8.5
4
+ version: 0.9.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: 2020-06-17 00:00:00.000000000 Z
11
+ date: 2020-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport