Class: VersionSerializer::Version
- Inherits:
-
Object
- Object
- VersionSerializer::Version
- Includes:
- Comparable
- Defined in:
- lib/version_serializer/version.rb
Instance Attribute Summary collapse
-
#major ⇒ Object
Returns the value of attribute major.
-
#minor ⇒ Object
Returns the value of attribute minor.
Class Method Summary collapse
Instance Method Summary collapse
- #<=>(other) ⇒ Object
- #as_json(options = {}) ⇒ Object
-
#initialize(major, minor) ⇒ Version
constructor
A new instance of Version.
- #to_s ⇒ Object
Constructor Details
#initialize(major, minor) ⇒ Version
Returns a new instance of Version.
7 8 9 10 |
# File 'lib/version_serializer/version.rb', line 7 def initialize major, minor @major = major @minor = minor end |
Instance Attribute Details
#major ⇒ Object
Returns the value of attribute major.
5 6 7 |
# File 'lib/version_serializer/version.rb', line 5 def major @major end |
#minor ⇒ Object
Returns the value of attribute minor.
5 6 7 |
# File 'lib/version_serializer/version.rb', line 5 def minor @minor end |
Class Method Details
.dump(object) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# 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) ⇒ Object
27 28 29 30 |
# 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) ⇒ Object
12 13 14 15 |
# 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 |
.range(min, max) ⇒ Object
32 33 34 |
# File 'lib/version_serializer/version.rb', line 32 def self.range min, max self.dump(min) .. self.dump(max) end |
Instance Method Details
#<=>(other) ⇒ Object
37 38 39 40 41 |
# 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 = {}) ⇒ Object
43 44 45 |
# File 'lib/version_serializer/version.rb', line 43 def as_json = {} to_s end |
#to_s ⇒ Object
47 48 49 50 51 |
# File 'lib/version_serializer/version.rb', line 47 def to_s return nil if major.nil? || minor.nil? "%d.%d" % [major, minor] end |