module RemindMe::Utils::Versions

Constants

INSTALLED_GEMS

Public Instance Methods

compare_version_numbers(target_version, current_version, comparator) click to toggle source
# File lib/remind_me/utils/versions.rb, line 8
def compare_version_numbers(target_version, current_version, comparator)
  current_version.__send__(condition_comparators[comparator.to_sym], target_version)
end
condition_comparators() click to toggle source
# File lib/remind_me/utils/versions.rb, line 20
def condition_comparators
  %i[lt lte gt gte eq].zip(%i[< <= > >= ==]).to_h
end
gem_installed?(gem) click to toggle source
# File lib/remind_me/utils/versions.rb, line 12
def gem_installed?(gem)
  INSTALLED_GEMS.key?(gem.to_s)
end
invalid_condition_message(source_location, condition) click to toggle source
# File lib/remind_me/utils/versions.rb, line 31
def invalid_condition_message(source_location, condition)
  "REMIND_ME comment on #{source_location} has invalid condition: #{condition}, only "\
  'lt, lte, gt, gte, eq are possible, or you can omit it entirely (it will default to eq)'
end
valid_condition?(condition) click to toggle source
# File lib/remind_me/utils/versions.rb, line 16
def valid_condition?(condition)
  condition_comparators.keys.flat_map { |x| [x, x.to_s] }.include?(condition)
end
valid_version_string?(version_string) click to toggle source
# File lib/remind_me/utils/versions.rb, line 24
def valid_version_string?(version_string)
  Gem::Version.new(version_string)
  true
rescue ArgumentError => _e
  false
end