Module: Kaal::DelayedJob::MySQLVersionSupport
- Defined in:
- lib/kaal/delayed_job/mysql_version_support.rb
Overview
MySQL version helper for delayed-job claim strategy selection.
Constant Summary collapse
- MINIMUM_SKIP_LOCKED_VERSION =
800_00
Class Method Summary collapse
- .integer_prefix(value) ⇒ Object
- .skip_locked_supported?(version_string) ⇒ Boolean
- .version_components(version_string) ⇒ Object
- .version_number(version_string) ⇒ Object
Class Method Details
.integer_prefix(value) ⇒ Object
35 36 37 38 39 40 |
# File 'lib/kaal/delayed_job/mysql_version_support.rb', line 35 def integer_prefix(value) digits = value.to_s.each_char.take_while { |character| character.between?('0', '9') }.join return nil if digits.empty? digits.to_i end |
.skip_locked_supported?(version_string) ⇒ Boolean
15 16 17 |
# File 'lib/kaal/delayed_job/mysql_version_support.rb', line 15 def skip_locked_supported?(version_string) version_number(version_string) >= MINIMUM_SKIP_LOCKED_VERSION end |
.version_components(version_string) ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/kaal/delayed_job/mysql_version_support.rb', line 26 def version_components(version_string) major, minor, patch = version_string.to_s.split('.', 3) [ integer_prefix(major), integer_prefix(minor), integer_prefix(patch) ] end |
.version_number(version_string) ⇒ Object
19 20 21 22 23 24 |
# File 'lib/kaal/delayed_job/mysql_version_support.rb', line 19 def version_number(version_string) major, minor, patch = version_components(version_string) return 0 unless major && minor && patch (major * 10_000) + (minor * 100) + patch end |