class VersionSerializer::Version

Attributes

major[RW]
minor[RW]

Public Class Methods

dump(object) click to toggle source
# File lib/version_serializer/version.rb, line 17
def self.dump (object)
  return nil if object.nil?

  if object.respond_to?(:major)
    ("%d.%03d" % [object.major, object.minor]).to_f
  else
    object
  end
end
from_string(data) click to toggle source
# File lib/version_serializer/version.rb, line 27
def self.from_string data
  return nil if data.nil?
  self.new(*data.to_s.split('.').map(&:to_i))
end
load(data) click to toggle source
# File lib/version_serializer/version.rb, line 12
def self.load (data)
  return nil if data.nil?
  self.new(*('%.3f' % data).split('.').map(&:to_i))
end
new(major, minor) click to toggle source
# File lib/version_serializer/version.rb, line 7
def initialize major, minor
  @major = major
  @minor = minor
end
range(min, max) click to toggle source
# File lib/version_serializer/version.rb, line 32
def self.range min, max
  self.dump(min) .. self.dump(max)
end

Public Instance Methods

<=>(other) click to toggle source
# File lib/version_serializer/version.rb, line 37
def <=> other
  return nil if other.nil?

  [major, minor] <=> [other.major, other.minor]
end
as_json(options = {}) click to toggle source
# File lib/version_serializer/version.rb, line 43
def as_json options = {}
  to_s
end
to_s() click to toggle source
# File lib/version_serializer/version.rb, line 47
def to_s
  return nil if major.nil? || minor.nil?

  "%d.%d" % [major, minor]
end