Module: Ruby::Version

Defined in:
lib/ruby-version.rb

Overview

Wraps the RUBY_VERSION constant and provides some handling such as comparing.

Constant Summary collapse

VERSION =

Contains the Ruby version identification in frozen string. It’s content is equal to the RUBY_VERSION constant.

RUBY_VERSION.dup.freeze
TOKENS =

Contents frozen tokens array of the current ruby version.

See Also:

self::broke(self::VERSION).freeze

Class Method Summary collapse

Class Method Details

.<(value) ⇒ Boolean

Lower operator.

Parameters:

  • value (String, Symbol, Array)

    version identifier

Returns:

  • (Boolean)

    true if yes, +false otherwise



66
67
68
69
70
# File 'lib/ruby-version.rb', line 66

def self.<(value)
    __cache(:<, value) do
        __compare(value, true, false, false)
    end
end

.<=(value) ⇒ Boolean

Lower or equal operator.

Parameters:

  • value (String, Symbol, Array)

    version identifier

Returns:

  • (Boolean)

    true if yes, +false otherwise



53
54
55
56
57
# File 'lib/ruby-version.rb', line 53

def self.<=(value)
    __cache(:"<=", value) do
        __compare(value, true, false, true)
    end
end

.<=>(value) ⇒ Boolean

Alias for #compare.

Parameters:

  • value (String, Symbol, Array)

    version identifier

Returns:

  • (Boolean)

    1 if this one is higher, -1 if lower and 0 otherwise



118
119
120
# File 'lib/ruby-version.rb', line 118

def self.<=>(value)
    self.compare(value)
end

.==(value) ⇒ Boolean

Equality operator.

Parameters:

  • value (String, Symbol, Array)

    version identifier

Returns:

  • (Boolean)

    true if yes, +false otherwise



92
93
94
95
96
# File 'lib/ruby-version.rb', line 92

def self.==(value)
    __cache(:"==", value) do
        __compare(value, false, false, true)
    end
end

.>(value) ⇒ Boolean

Higher operator.

Parameters:

  • value (String, Symbol, Array)

    version identifier

Returns:

  • (Boolean)

    true if yes, +false otherwise



79
80
81
82
83
# File 'lib/ruby-version.rb', line 79

def self.>(value)
    __cache(:>, value) do
        __compare(value, false, true, false)
    end
end

.>=(value) ⇒ Boolean

Higher or equal operator.

Parameters:

  • value (String, Symbol, Array)

    version identifier

Returns:

  • (Boolean)

    true if yes, +false otherwise



40
41
42
43
44
# File 'lib/ruby-version.rb', line 40

def self.>=(value)
    __cache(:">=", value) do
        __compare(value, false, true, true)
    end
end

.broke(string) ⇒ Array

Brokes string identifier to numeric tokens in array.

Parameters:

  • value (String, Symbol)

    version identifier

Returns:

  • (Array)

    array of tokens



129
130
131
# File 'lib/ruby-version.rb', line 129

def self.broke(string)
    string.to_s.split(".").map! { |i| i.to_i }
end

.compare(value) ⇒ Boolean

Compares version strings.

Parameters:

  • value (String, Symbol, Array)

    version identifier

Returns:

  • (Boolean)

    1 if this one is higher, -1 if lower and 0 otherwise



105
106
107
108
109
# File 'lib/ruby-version.rb', line 105

def self.compare(value)
    __cache(:compare, value) do
        __compare(value, -1, 1, 0)
    end
end