Exheredludis/doc/api/ruby/example_version_operator.rb
2007-11-11 21:20:04 +00:00

43 lines
1.0 KiB
Ruby

#!/usr/bin/env ruby
# vim: set sw=4 sts=4 et tw=100 :
=begin description
This example demonstrates how use Paludis::version_spec_comparator.
=end
require 'Paludis'
require 'example_command_line'
include Paludis
#Make an array of Versions
versions = [VersionSpec.new('1.0'), VersionSpec.new('1.1'), VersionSpec.new('1.2'),
VersionSpec.new('1.2-r1'), VersionSpec.new('2.0')]
#Make an array of VersionOperator strings
operators = ['=', '>=', '~', '<', '~>']
# Display a header
print " #{'LHS'.ljust(8)} | #{'RHS'.ljust(8)}"
operators.each do |operator|
print " | #{operator.ljust(8)}"
end
puts
print '-' * 10
puts ('+' + ('-' * 10)) * operators.length.succ
#For each pair of versions
versions.each do |v1|
versions.each do |v2|
print " #{v1.to_s.ljust(8)} | #{v2.to_s.ljust(8)}"
#Apply all of our operators, and show the results
operators.each do |operator|
print " | " + (Paludis::version_spec_comparator(operator, v1, v2) ? 'true' : 'false').ljust(8)
end
puts
end
end