Class: CFME::Versions
- Inherits:
-
Object
- Object
- CFME::Versions
- Extended by:
- Enumerable
- Defined in:
- lib/cfme-versions.rb
Constant Summary collapse
- FIELDS =
[ "ManageIQ", "", "CFME", "CloudForms", "CP4MCM", "Ruby", "Rails", "PostgreSQL" ].freeze
- VERSIONS =
[ %w[ N/A N/A 5.1.z 2.0 N/A N/A N/A N/A ], %w[ N/A N/A 5.2.z 3.0 N/A N/A N/A N/A ], %w[ Anand 1.y.z 5.3.z 3.1 N/A N/A N/A N/A ], %w[ Botvinnik 2.y.z 5.4.z 3.2 N/A N/A N/A N/A ], %w[ Capablanca 3.y.z 5.5.z 4.0 N/A 2.2.z 4.2.z 9.4.z ], %w[ Darga 4.y.z 5.6.z 4.1 N/A 2.2.z 5.0.z 9.4.z ], %w[ Euwe 5.y.z 5.7.z 4.2 N/A 2.3.z 5.0.z 9.5.z ], %w[ Fine 6.y.z 5.8.z 4.5 N/A 2.3.z 5.0.z 9.5.z ], %w[ Gaprindashvili 7.y.z 5.9.z 4.6 N/A 2.3.z 5.0.z 9.5.z ], %w[ Hammer 8.y.z 5.10.z 4.7 N/A 2.4.z 5.0.z 9.5.z ], %w[ Ivanchuk 9.y.z 5.11.z 5.0 1.2,1.3 2.5.z 5.1.z 10.y ], %w[ Jansa 10.y.z N/A N/A 2.0 2.5.z 5.2.z 10.y ], %w[ Kasparov 11.y.z N/A N/A N/A 2.6.z 5.2.z 10.y ] ].freeze
Class Method Summary collapse
- .[](index) ⇒ Object
- .each ⇒ Object
- .last ⇒ Object
- .print_help ⇒ Object
- .print_table ⇒ Object
- .print_version ⇒ Object
- .raw_data ⇒ Object
- .run(argv = ARGV) ⇒ Object
-
.version ⇒ Object
Version of this gem/tool.
- .versions ⇒ Object
Class Method Details
.[](index) ⇒ Object
68 69 70 |
# File 'lib/cfme-versions.rb', line 68 def [](index) versions[index] end |
.each ⇒ Object
60 61 62 |
# File 'lib/cfme-versions.rb', line 60 def each versions.each { |version| yield version } end |
.last ⇒ Object
64 65 66 |
# File 'lib/cfme-versions.rb', line 64 def last versions.last end |
.print_help ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/cfme-versions.rb', line 86 def print_help puts <<~HELP usage: cfme-versions [OPTION]... Options: --version Prints the version number and exits --help This help HELP exit end |
.print_table ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/cfme-versions.rb', line 99 def print_table # Print Header puts printable_row(FIELDS) puts printable_row(spacings.map { |size| "-" * size }) # Print version data raw_data.each do |version| version_data = version.map { |column| column == "N/A" ? "" : column } # remove N/A values puts printable_row(version_data) end end |
.print_version ⇒ Object
111 112 113 114 |
# File 'lib/cfme-versions.rb', line 111 def print_version puts CFME::Versions.version exit end |
.raw_data ⇒ Object
82 83 84 |
# File 'lib/cfme-versions.rb', line 82 def raw_data @raw_data ||= VERSIONS.dup end |
.run(argv = ARGV) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/cfme-versions.rb', line 46 def run(argv = ARGV) until argv.empty? arg = argv.shift # The `return` statements are there for specs case arg when "--version" then return print_version when "--help" then return print_help end end CFME::Versions.print_table end |
.version ⇒ Object
Version of this gem/tool
73 74 75 76 |
# File 'lib/cfme-versions.rb', line 73 def version numbers = versions.last.miq_semver.split(".").select { |val| val =~ /^\d+$/ } + %w[0 0 0] numbers.first(3).join(".") end |
.versions ⇒ Object
78 79 80 |
# File 'lib/cfme-versions.rb', line 78 def versions @versions ||= raw_data.map { |data| Version.new(*data) } end |