bizside 2.3.6 → 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: 39b9880ea371f55ab17b2c82c67394a2f740bc612c4c9b69594db539d2e9b16f
4
- data.tar.gz: b32b29653cc05e0332ff1bd51636ef2a750c8ccfbd6db608d7bc8ee6390df424
3
+ metadata.gz: 81dbebe065d4091665ab663600a57a56e54c97b2cde5d0b18f8fc78197c4ddbe
4
+ data.tar.gz: f80003853d525d8c79faa245008dd8ec4ca613bf2ec02f8d58a8b5128d12e68a
5
5
  SHA512:
6
- metadata.gz: 64f122cfd9ad9ff1571b961e92733ff850015f1e2211c47e503705e1823bdce4334eab643fc10205369fa6ac345ee72491a6377d143a2f3092ade1394aa4e270
7
- data.tar.gz: 6940e79997639635c66738ee8d19c6015447f3e187daa5d5e059009ccc5c784634a768f619a2cb0dc18c368cd1caf1486dc7ba79734ab94ca8456170f3ad70e1
6
+ metadata.gz: 0026f469b9d2d81d63b506c9667561cac3bd842e18bc6f327885f6ce8e3460e5eecf3ba89ba55079cab3a7eb257f84437c555ffa8044a918d3f2ea0e0c83b74d
7
+ data.tar.gz: 559dd6e411c386a5497542f87923d257342d89b0a4278e32db7811520df50e396a49e689c4556ace10789613d45b8629958b2bc43607de13eaaab4f8452594b5
@@ -30,7 +30,7 @@ module Bizside
30
30
 
31
31
  def valid_#{attr}?
32
32
  valid_format?(@#{attr}) &&
33
- valid_range?(MIN_#{attr.upcase}, MAX_#{attr.upcase}, @#{attr})
33
+ valid_range_and_step?(MIN_#{attr.upcase}, MAX_#{attr.upcase}, @#{attr})
34
34
  end
35
35
  EOS
36
36
  end
@@ -41,22 +41,40 @@ module Bizside
41
41
  value =~ /\A(\*(\/\d+)?|\d+(,\d+)*(-\d+)*(\/\d+)*)\Z/
42
42
  end
43
43
 
44
+ def valid_range_and_step?(min, max, value)
45
+ valid_range?(min, max, value) && valid_step?(min, max, value)
46
+ end
47
+
44
48
  def valid_range?(min, max, value)
45
- validate_values = remove_to_ignore_value(value).split(",")
46
- validate_values.reject do |v|
49
+ range_values = get_range_value(value).split(",")
50
+ range_values.reject do |v|
47
51
  if v.include?("-")
48
52
  range_v = v.split("-")
49
53
  (min..max).include?(range_v[0].to_i) &&
50
54
  (min..max).include?(range_v[1].to_i) &&
51
55
  range_v[0].to_i < range_v[1].to_i
52
56
  else
53
- (min..max).include? v.to_i
57
+ (min..max).include?(v.to_i)
54
58
  end
55
59
  end.empty?
56
60
  end
57
61
 
58
- def remove_to_ignore_value(value)
62
+ def valid_step?(min, max, value)
63
+ v = get_step_value(value)
64
+ return true if v.empty?
65
+
66
+ v != '*' &&
67
+ v.to_i != 0 &&
68
+ (min..max).include?(v.to_i)
69
+ end
70
+
71
+ def get_range_value(value)
59
72
  value.gsub(/(\/\d*|\*)/, "")
60
73
  end
74
+
75
+ def get_step_value(value)
76
+ return "" unless value.include?('/')
77
+ value.gsub(/.*\/(.*)/) { $1 }
78
+ end
61
79
  end
62
80
  end
@@ -173,9 +173,11 @@ module Bizside
173
173
  if cronline.to_s.strip.empty?
174
174
  return
175
175
  elsif CronValidator.new(cronline).valid?
176
+ new_cron = set_cron_options(cron)
177
+
176
178
  config = {
177
179
  :class => job_type,
178
- :cron => cron,
180
+ :cron => new_cron,
179
181
  :args => args,
180
182
  :persist => true
181
183
  }
@@ -404,5 +406,19 @@ module Bizside
404
406
  end
405
407
  private_class_method :do_perform_and_hooks_instantly
406
408
 
409
+ def self.set_cron_options(cron)
410
+ ret = Array(cron)
411
+ if ret.size > 1
412
+ opts = ret.second
413
+ opts ||= {}
414
+ opts = opts.with_indifferent_access
415
+ opts = opts.merge(blocking: true)
416
+ else
417
+ opts = { blocking: true }.with_indifferent_access
418
+ end
419
+ ret[1] = opts
420
+ ret
421
+ end
422
+
407
423
  end
408
424
  end
@@ -1,3 +1,3 @@
1
1
  module Bizside
2
- VERSION = '2.3.6'
2
+ VERSION = '3.0.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bizside
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.6
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - bizside-developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-14 00:00:00.000000000 Z
11
+ date: 2024-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -62,16 +62,22 @@ dependencies:
62
62
  name: carrierwave
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - "~>"
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: 2.2.0
68
+ - - "<"
66
69
  - !ruby/object:Gem::Version
67
- version: '2.2'
70
+ version: 4.0.0
68
71
  type: :runtime
69
72
  prerelease: false
70
73
  version_requirements: !ruby/object:Gem::Requirement
71
74
  requirements:
72
- - - "~>"
75
+ - - ">="
73
76
  - !ruby/object:Gem::Version
74
- version: '2.2'
77
+ version: 2.2.0
78
+ - - "<"
79
+ - !ruby/object:Gem::Version
80
+ version: 4.0.0
75
81
  - !ruby/object:Gem::Dependency
76
82
  name: carrierwave-magic
77
83
  requirement: !ruby/object:Gem::Requirement
@@ -217,9 +223,6 @@ dependencies:
217
223
  - - "~>"
218
224
  - !ruby/object:Gem::Version
219
225
  version: '3.0'
220
- - - "<"
221
- - !ruby/object:Gem::Version
222
- version: '3.36'
223
226
  type: :development
224
227
  prerelease: false
225
228
  version_requirements: !ruby/object:Gem::Requirement
@@ -227,9 +230,6 @@ dependencies:
227
230
  - - "~>"
228
231
  - !ruby/object:Gem::Version
229
232
  version: '3.0'
230
- - - "<"
231
- - !ruby/object:Gem::Version
232
- version: '3.36'
233
233
  - !ruby/object:Gem::Dependency
234
234
  name: cucumber
235
235
  requirement: !ruby/object:Gem::Requirement
@@ -468,14 +468,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
468
468
  requirements:
469
469
  - - ">="
470
470
  - !ruby/object:Gem::Version
471
- version: 2.5.0
471
+ version: 2.7.0
472
472
  required_rubygems_version: !ruby/object:Gem::Requirement
473
473
  requirements:
474
474
  - - ">="
475
475
  - !ruby/object:Gem::Version
476
476
  version: '0'
477
477
  requirements: []
478
- rubygems_version: 3.3.26
478
+ rubygems_version: 3.1.6
479
479
  signing_key:
480
480
  specification_version: 4
481
481
  summary: Bizside is an utilities for web application.