Module: ControlledVersioning::ActsAsVersionable::InstanceMethods
- Defined in:
- lib/controlled_versioning.rb
Instance Method Summary collapse
- #build_initial_version ⇒ Object
- #initial_version ⇒ Object
- #is_a_nested_association? ⇒ Boolean
- #submit_revision(suggested_attributes) ⇒ Object
- #versionable_attributes ⇒ Object
Instance Method Details
#build_initial_version ⇒ Object
100 101 102 103 |
# File 'lib/controlled_versioning.rb', line 100 def build_initial_version version = versions.build(initial: true, notes: notes, user: user) InitialVersion::Factory.new(versionable: self, version: version).build end |
#initial_version ⇒ Object
105 106 107 108 109 110 111 |
# File 'lib/controlled_versioning.rb', line 105 def initial_version if is_a_nested_association? version_children.first else versions.find_by(initial: true) end end |
#is_a_nested_association? ⇒ Boolean
90 91 92 |
# File 'lib/controlled_versioning.rb', line 90 def is_a_nested_association? self.class.is_a_nested_association? end |
#submit_revision(suggested_attributes) ⇒ Object
113 114 115 116 117 118 |
# File 'lib/controlled_versioning.rb', line 113 def submit_revision(suggested_attributes) Revision::Factory.new( versionable: self, suggested_attributes: suggested_attributes ).build end |
#versionable_attributes ⇒ Object
94 95 96 97 98 |
# File 'lib/controlled_versioning.rb', line 94 def versionable_attributes versionable_attributes = self.versionable_attribute_names ArrayConverter.to_s!(versionable_attributes) self.attributes.slice(*versionable_attributes) end |