module GemVersionWrapper

Constants

VERSION

Public Class Methods

build(str) click to toggle source
# File lib/gem_version_wrapper.rb, line 4
def self.build(str)
  begin
    Gem::Version.new str
  rescue ArgumentError => e
    if defined? Rails.logger.error
      Rails.logger.error("#{e}: invalid version input from DB => Gem::Version.new(#{str})")
    end

    handle_invalid str
  end
end

Private Class Methods

handle_invalid(str) click to toggle source
# File lib/gem_version_wrapper.rb, line 18
def self.handle_invalid(str)
  if unprocessable_input? str
    Gem::Version.new ''
  else
    Gem::Version.new str.to_f
  end
end
unprocessable_input?(str) click to toggle source
# File lib/gem_version_wrapper.rb, line 26
def self.unprocessable_input?(str)
  str.to_f == 0.0
end