Module: RubyVersion
- Extended by:
- Comparable
- Defined in:
- lib/zucker/ruby_version.rb
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?)
- .tiny ⇒ Object (also: teeny)
- .to_s ⇒ Object
Class Method Details
.<=>(other) ⇒ Object
comparable
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/zucker/ruby_version.rb', line 13 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
113 114 115 |
# File 'lib/zucker/ruby_version.rb', line 113 def description RUBY_DESCRIPTION end |
.is?(other = nil) ⇒ Boolean Also known as: is
chaining for dsl-like language
32 33 34 35 36 37 38 |
# File 'lib/zucker/ruby_version.rb', line 32 def is?(other = nil) if other RubyVersion == other else RubyVersion end end |
.major ⇒ Object Also known as: main
accessors
84 85 86 |
# File 'lib/zucker/ruby_version.rb', line 84 def major RUBY_VERSION.to_i end |
.minor ⇒ Object Also known as: mini
89 90 91 |
# File 'lib/zucker/ruby_version.rb', line 89 def minor RUBY_VERSION.split('.')[1].to_i end |
.newer_than(other) ⇒ Object Also known as: newer_than?
compare dates
59 60 61 62 63 64 65 |
# File 'lib/zucker/ruby_version.rb', line 59 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?
52 53 54 |
# File 'lib/zucker/ruby_version.rb', line 52 def not(other) self != other end |
.older_than(other) ⇒ Object Also known as: older_than?
68 69 70 71 72 73 74 |
# File 'lib/zucker/ruby_version.rb', line 68 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
100 101 102 |
# File 'lib/zucker/ruby_version.rb', line 100 def patchlevel RUBY_PATCHLEVEL end |
.platform ⇒ Object
104 105 106 |
# File 'lib/zucker/ruby_version.rb', line 104 def platform RUBY_PLATFORM end |
.release_date ⇒ Object Also known as: date
108 109 110 |
# File 'lib/zucker/ruby_version.rb', line 108 def release_date Date.parse RUBY_RELEASE_DATE end |
.released_today ⇒ Object Also known as: released_today?
77 78 79 |
# File 'lib/zucker/ruby_version.rb', line 77 def released_today RubyVersion.date == Date.today end |
.tiny ⇒ Object Also known as: teeny
94 95 96 |
# File 'lib/zucker/ruby_version.rb', line 94 def tiny RUBY_VERSION.split('.')[2].to_i end |
.to_s ⇒ Object
8 9 10 |
# File 'lib/zucker/ruby_version.rb', line 8 def to_s RUBY_VERSION end |