module Chandler::Refinements::VersionFormat
Monkey patch String to provide conveniences for identifying strings that represent a version, and converting between between tags (e.g “v1.0.2”) and version numbers (“1.0.2”).
Public Instance Methods
version?()
click to toggle source
Does this string represent a version?
“1.0.2”.version? # => true “v1.0.2”.version? # => true “nope”.version? # => false “”.version? # => false
# File lib/chandler/refinements/version_format.rb, line 16 def version? !!version_number end
version_number()
click to toggle source
The version number portion of the string, with the optional “v” prefix removed.
“1.0.2”.version_number # => “1.0.2” “v1.0.2”.version_number # => “1.0.2” “nope”.version_number # => nil “”.version_number # => nil
# File lib/chandler/refinements/version_format.rb, line 28 def version_number self[/^v?(#{Gem::Version::VERSION_PATTERN})$/, 1] end
version_tag()
click to toggle source
The version number reformatted as a tag, by prefixing “v”.
“1.0.2”.version_tag # => “v1.0.2” “v1.0.2”.version_tag # => “v1.0.2” “nope”.version_tag # => nil “”.version_tag # => nil
# File lib/chandler/refinements/version_format.rb, line 39 def version_tag number = version_number number && "v#{version_number}" end