Class: VestalVersions::Version

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
Comparable
Defined in:
lib/vestal_versions/version.rb

Overview

The ActiveRecord model representing versions.

Instance Method Summary collapse

Instance Method Details

#<=>(other) ⇒ Object

In conjunction with the included Comparable module, allows comparison of version records based on their corresponding version numbers, creation timestamps and IDs.



21
22
23
# File 'lib/vestal_versions/version.rb', line 21

def <=>(other)
  [number, created_at, id].map(&:to_i) <=> [other.number, other.created_at, other.id].map(&:to_i)
end

#changesObject



14
15
16
# File 'lib/vestal_versions/version.rb', line 14

def changes
  self[:modifications]
end

#initial?Boolean

Returns whether the version has a version number of 1. Useful when deciding whether to ignore the version during reversion, as initial versions have no serialized changes attached. Helps maintain backwards compatibility.

Returns:

  • (Boolean)


28
29
30
# File 'lib/vestal_versions/version.rb', line 28

def initial?
  number == 1
end