Class: InOrder::Remove
- Inherits:
-
Object
- Object
- InOrder::Remove
- Includes:
- Aux::GetElement
- Defined in:
- app/models/in_order/remove.rb
Overview
Takes an element out of a list
Instance Attribute Summary collapse
-
#destroy ⇒ Object
(also: #destroy?)
Returns the value of attribute destroy.
-
#element_id ⇒ Object
Returns the value of attribute element_id.
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(element_id, destroy: true) ⇒ Remove
constructor
A new instance of Remove.
Constructor Details
#initialize(element_id, destroy: true) ⇒ Remove
Returns a new instance of Remove.
10 11 12 13 14 |
# File 'app/models/in_order/remove.rb', line 10 def initialize(element_id, destroy: true) self.element_id = element_id self.destroy = destroy end |
Instance Attribute Details
#destroy ⇒ Object Also known as: destroy?
Returns the value of attribute destroy.
7 8 9 |
# File 'app/models/in_order/remove.rb', line 7 def destroy @destroy end |
#element_id ⇒ Object
Returns the value of attribute element_id.
7 8 9 |
# File 'app/models/in_order/remove.rb', line 7 def element_id @element_id end |
Instance Method Details
#call ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'app/models/in_order/remove.rb', line 16 def call InOrder::Element.transaction do element = get_element element_id if previous = InOrder::Element.find_by(element_id: element.id) previous.update element_id: element.element_id end element.tap {|element| element.destroy if destroy? } end end |