Module: ControlledVersioning::ActsAsVersionable::InstanceMethods
- Defined in:
- lib/controlled_versioning.rb
Instance Method Summary collapse
- #initial_version ⇒ Object
- #is_a_nested_association? ⇒ Boolean
- #submit_revision(suggested_attributes) ⇒ Object
- #versionable_attributes ⇒ Object
Instance Method Details
#initial_version ⇒ Object
79 80 81 82 83 84 85 |
# File 'lib/controlled_versioning.rb', line 79 def initial_version if is_a_nested_association? version_children.first else versions.find_by(initial: true) end end |
#is_a_nested_association? ⇒ Boolean
69 70 71 |
# File 'lib/controlled_versioning.rb', line 69 def is_a_nested_association? self.class.is_a_nested_association? end |
#submit_revision(suggested_attributes) ⇒ Object
87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/controlled_versioning.rb', line 87 def submit_revision(suggested_attributes) assign_attributes(suggested_attributes) if invalid? errors elsif !RevisionAuditor.new(self).changes_original? errors[:base] << I18n.t("errors.messages.no_revisions_made") errors else version = versions.build RevisionBuilder.new(versionable: self, version: version).version version.save version end end |
#versionable_attributes ⇒ Object
73 74 75 76 77 |
# File 'lib/controlled_versioning.rb', line 73 def versionable_attributes versionable_attributes = self.versionable_attribute_names ArrayConverter.to_s!(versionable_attributes) self.attributes.slice(*versionable_attributes) end |