Class: SchemaEvolutionManager::Version
- Inherits:
-
Object
- Object
- SchemaEvolutionManager::Version
- Defined in:
- lib/schema-evolution-manager/version.rb
Constant Summary collapse
- VERSION_FILE =
File.join(Library.base_dir, "VERSION")
Instance Attribute Summary collapse
-
#major ⇒ Object
readonly
Returns the value of attribute major.
-
#micro ⇒ Object
readonly
Returns the value of attribute micro.
-
#minor ⇒ Object
readonly
Returns the value of attribute minor.
Instance Method Summary collapse
- #<=>(other) ⇒ Object
-
#initialize(major, minor, micro, opts = {}) ⇒ Version
constructor
A new instance of Version.
-
#next_major ⇒ Object
Returns the next major version.
-
#next_micro ⇒ Object
Returns the next micro version.
-
#next_minor ⇒ Object
Returns the next minor version.
- #to_version_string ⇒ Object
Constructor Details
#initialize(major, minor, micro, opts = {}) ⇒ Version
Returns a new instance of Version.
9 10 11 12 13 14 15 16 17 |
# File 'lib/schema-evolution-manager/version.rb', line 9 def initialize(major, minor, micro, opts={}) @major = major.to_i @minor = minor.to_i @micro = micro.to_i @prefix = opts.delete(:prefix) || nil if !opts.empty? raise "Invalid keys: " + opts.keys end end |
Instance Attribute Details
#major ⇒ Object (readonly)
Returns the value of attribute major.
7 8 9 |
# File 'lib/schema-evolution-manager/version.rb', line 7 def major @major end |
#micro ⇒ Object (readonly)
Returns the value of attribute micro.
7 8 9 |
# File 'lib/schema-evolution-manager/version.rb', line 7 def micro @micro end |
#minor ⇒ Object (readonly)
Returns the value of attribute minor.
7 8 9 |
# File 'lib/schema-evolution-manager/version.rb', line 7 def minor @minor end |
Instance Method Details
#<=>(other) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/schema-evolution-manager/version.rb', line 48 def <=>(other) Preconditions.assert_class(other, Version) value = major <=> other.major if value == 0 value = minor <=> other.minor if value == 0 value = micro <=> other.micro end end value end |
#next_major ⇒ Object
Returns the next major version
34 35 36 |
# File 'lib/schema-evolution-manager/version.rb', line 34 def next_major Version.new(major+1, 0, 0, :prefix => @prefix) end |
#next_micro ⇒ Object
Returns the next micro version
44 45 46 |
# File 'lib/schema-evolution-manager/version.rb', line 44 def next_micro Version.new(major, minor, micro+1, :prefix => @prefix) end |
#next_minor ⇒ Object
Returns the next minor version
39 40 41 |
# File 'lib/schema-evolution-manager/version.rb', line 39 def next_minor Version.new(major, minor+1, 0, :prefix => @prefix) end |
#to_version_string ⇒ Object
29 30 31 |
# File 'lib/schema-evolution-manager/version.rb', line 29 def to_version_string "%s%s.%s.%s" % [@prefix, major, minor, micro] end |