lib/version_compare/conversions.rb in version_compare-0.1.1 vs lib/version_compare/conversions.rb in version_compare-0.2.0
- old
+ new
@@ -1,38 +1,40 @@
-# 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
- require_relative "comparable_version"
+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
- # The `ComparableVersion()` conversion method is defined as a module_function so that it
- # may also be called directly without needing to include the Conversions module
- # if so desired.
- #
- # @example
- # Conversions.ComparableVersion(1.2).to_s # => "1.2"
module_function
- # Strict conversion method for creating a `ComparableVersion` object out of anything
- # that sensibly is a ComparableVersion.
- #
- # @param [Object] value the object to be converted
- #
- # @example
- # ComparableVersion(1) # => #<ComparableVersion:0x007fd8144ea658 @major=1, @minor=nil, @tiny=nil, @patch=nil>
- # ComparableVersion(1.2) # => #<ComparableVersion:0x007fd8144ea658 @major=1, @minor=2, @tiny=nil, @patch=nil>
- # ComparableVersion("1.2.3") # => #<ComparableVersion:0x007fd8144ea658 @major=1, @minor=2, @tiny=3, @patch=nil>
- # ComparableVersion(["1", "2", "3", "4"]) # => #<ComparableVersion:0x007fd8144f98b0 @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"
+ # 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