Sha256: f95e8b6314db7d0f431abfec5230e64dc1a3ed462a7bb85acae7258554fd4e26
Contents?: true
Size: 1.34 KB
Versions: 1
Compression:
Stored size: 1.34 KB
Contents
module VersionCompare # 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. module Conversions module_function # 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> 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 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
version_compare-0.2.0 | lib/version_compare/conversions.rb |