module VersionCompare::Conversions
Conversions
is meant to be a common module used to define standard conversion methods. Anytime one of the standard conversion methods are needed, the Conversions
module can be included and then used freely.
Public Instance Methods
ComparableVersion(value)
click to toggle source
Strict conversion method for creating a `ComparableVersion` object out of anything that can be interpreted is a ComparableVersion
.
@param [Object] value the object to be converted
@example
ComparableVersion(1) # => #<ComparableVersion @major=1, @minor=nil, @tiny=nil, @patch=nil> ComparableVersion(1.2) # => #<ComparableVersion @major=1, @minor=2, @tiny=nil, @patch=nil> ComparableVersion("1.2.3") # => #<ComparableVersion @major=1, @minor=2, @tiny=3, @patch=nil> ComparableVersion(["1", "2", "3", "4"]) # => #<ComparableVersion @major=1, @minor=2, @tiny=3, @patch=4>
# File lib/version_compare/conversions.rb, line 26 def ComparableVersion(value) case value when String, Integer, Float, -> val { val.respond_to?(:to_ary) } ComparableVersion.new(value) when -> val { val.respond_to?(:to_comparable_version) } value.to_comparable_version else raise TypeError, "Cannot convert #{value.inspect} to ComparableVersion" end end