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
123 124 125 126 |
# File 'lib/controlled_versioning.rb', line 123 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
128 129 130 131 132 133 134 |
# File 'lib/controlled_versioning.rb', line 128 def initial_version if is_a_nested_association? version_children.first else versions.find_by(initial: true) end end |
#is_a_nested_association? ⇒ Boolean
113 114 115 |
# File 'lib/controlled_versioning.rb', line 113 def is_a_nested_association? self.class.is_a_nested_association? end |
#submit_revision(suggested_attributes) ⇒ Object
136 137 138 139 140 141 |
# File 'lib/controlled_versioning.rb', line 136 def submit_revision(suggested_attributes) Revision::Factory.new( versionable: self, suggested_attributes: suggested_attributes ).build end |
#versionable_attributes ⇒ Object
117 118 119 120 121 |
# File 'lib/controlled_versioning.rb', line 117 def versionable_attributes versionable_attributes = self.versionable_attribute_names ArrayConverter.to_s!(versionable_attributes) self.attributes.slice(*versionable_attributes) end |