Module: RubyVersion
- Extended by:
- Comparable
- Defined in:
- lib/ruby_version.rb
Constant Summary collapse
- VERSION =
'1.0.3'
Class Method Summary collapse
-
.<=>(other) ⇒ Object
comparable.
- .description ⇒ Object
-
.is?(other = nil) ⇒ Boolean
(also: is)
chaining for dsl-like language.
-
.major ⇒ Object
(also: main)
accessors.
- .minor ⇒ Object (also: mini)
-
.newer_than(other) ⇒ Object
(also: newer_than?)
compare dates.
- .not(other) ⇒ Object (also: not?)
- .older_than(other) ⇒ Object (also: older_than?)
- .patchlevel ⇒ Object
- .platform ⇒ Object
- .release_date ⇒ Object (also: date)
- .released_today ⇒ Object (also: released_today?)
- .revision ⇒ Object
- .tiny ⇒ Object (also: teeny)
- .to_s ⇒ Object (also: inspect)
Class Method Details
.<=>(other) ⇒ Object
comparable
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/ruby_version.rb', line 16 def <=>(other) value = case other when Integer RUBY_VERSION.to_i when Float RUBY_VERSION.to_f when String RUBY_VERSION when Date, Time other.class.parse(RUBY_RELEASE_DATE) else other = other.to_s RUBY_VERSION end value <=> other end |
.description ⇒ Object
116 117 118 |
# File 'lib/ruby_version.rb', line 116 def description RUBY_DESCRIPTION end |
.is?(other = nil) ⇒ Boolean Also known as: is
chaining for dsl-like language
35 36 37 38 39 40 41 |
# File 'lib/ruby_version.rb', line 35 def is?(other = nil) if other RubyVersion == other else RubyVersion end end |
.major ⇒ Object Also known as: main
accessors
87 88 89 |
# File 'lib/ruby_version.rb', line 87 def major RUBY_VERSION.to_i end |
.minor ⇒ Object Also known as: mini
92 93 94 |
# File 'lib/ruby_version.rb', line 92 def minor RUBY_VERSION.split('.')[1].to_i end |
.newer_than(other) ⇒ Object Also known as: newer_than?
compare dates
62 63 64 65 66 67 68 |
# File 'lib/ruby_version.rb', line 62 def newer_than(other) if other.is_a? Date or other.is_a? Time RubyVersion > other else RUBY_RELEASE_DATE > other.to_s end end |
.not(other) ⇒ Object Also known as: not?
55 56 57 |
# File 'lib/ruby_version.rb', line 55 def not(other) self != other end |
.older_than(other) ⇒ Object Also known as: older_than?
71 72 73 74 75 76 77 |
# File 'lib/ruby_version.rb', line 71 def older_than(other) if other.is_a? Date or other.is_a? Time RubyVersion < other else RUBY_RELEASE_DATE < other.to_s end end |
.patchlevel ⇒ Object
103 104 105 |
# File 'lib/ruby_version.rb', line 103 def patchlevel RUBY_PATCHLEVEL end |
.platform ⇒ Object
107 108 109 |
# File 'lib/ruby_version.rb', line 107 def platform RUBY_PLATFORM end |
.release_date ⇒ Object Also known as: date
111 112 113 |
# File 'lib/ruby_version.rb', line 111 def release_date Date.parse RUBY_RELEASE_DATE end |
.released_today ⇒ Object Also known as: released_today?
80 81 82 |
# File 'lib/ruby_version.rb', line 80 def released_today RubyVersion.date == Date.today end |
.revision ⇒ Object
120 121 122 |
# File 'lib/ruby_version.rb', line 120 def revision defined?(RUBY_REVISION) && RUBY_REVISION end |
.tiny ⇒ Object Also known as: teeny
97 98 99 |
# File 'lib/ruby_version.rb', line 97 def tiny RUBY_VERSION.split('.')[2].to_i end |
.to_s ⇒ Object Also known as: inspect
10 11 12 |
# File 'lib/ruby_version.rb', line 10 def to_s RUBY_VERSION end |