Module: ActsAsVersionable::InstanceMethods
- Defined in:
- lib/acts_as_versionable.rb
Instance Method Summary collapse
-
#editable_version ⇒ Object
return the last version editable.
-
#get_version(number) ⇒ Object
return a determined version number.
-
#last_version ⇒ Object
return the last version number.
- #revert_to_version(number) ⇒ Object
-
#version ⇒ Object
return the current version.
-
#versionable? ⇒ Boolean
check if we are in main version.
-
#versions ⇒ Object
return an array with all versions.
Instance Method Details
#editable_version ⇒ Object
return the last version editable
83 84 85 |
# File 'lib/acts_as_versionable.rb', line 83 def editable_version parent_version.nil? ? self : parent_version end |
#get_version(number) ⇒ Object
return a determined version number
50 51 52 53 54 |
# File 'lib/acts_as_versionable.rb', line 50 def get_version(number) version = versions.where(:version_number => number).first raise NoSuchVersionError if version.nil? version end |
#last_version ⇒ Object
return the last version number
77 78 79 80 |
# File 'lib/acts_as_versionable.rb', line 77 def last_version return 0 if versions.count == 0 versions.first.version_number end |
#revert_to_version(number) ⇒ Object
39 40 41 42 43 44 45 46 47 |
# File 'lib/acts_as_versionable.rb', line 39 def revert_to_version(number) version = get_version number editable = editable_version copy_version_values version, editable editable.version_number = nil editable.version_id = nil editable.save editable end |
#version ⇒ Object
return the current version
71 72 73 74 |
# File 'lib/acts_as_versionable.rb', line 71 def version return last_version if versionable? version_number end |
#versionable? ⇒ Boolean
check if we are in main version
66 67 68 |
# File 'lib/acts_as_versionable.rb', line 66 def versionable? version_id.nil? end |
#versions ⇒ Object
return an array with all versions
57 58 59 60 61 62 63 |
# File 'lib/acts_as_versionable.rb', line 57 def versions if versionable? internal_versions else self.class.where(:version_id => self.version_id).order(:version_number).reverse_order end end |