Class: PactBroker::Domain::OrderVersions::OrderableVersion

Inherits:
Object
  • Object
show all
Defined in:
lib/pact_broker/domain/order_versions.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(version_model) ⇒ OrderableVersion

Returns a new instance of OrderableVersion.



16
17
18
19
# File 'lib/pact_broker/domain/order_versions.rb', line 16

def initialize version_model
  @version_model = version_model
  @sortable_number = PactBroker.configuration.version_parser.call version_model.number
end

Instance Attribute Details

#sortable_numberObject

Returns the value of attribute sortable_number.



14
15
16
# File 'lib/pact_broker/domain/order_versions.rb', line 14

def sortable_number
  @sortable_number
end

#version_modelObject

Returns the value of attribute version_model.



14
15
16
# File 'lib/pact_broker/domain/order_versions.rb', line 14

def version_model
  @version_model
end

Instance Method Details

#<=>(other) ⇒ Object



21
22
23
# File 'lib/pact_broker/domain/order_versions.rb', line 21

def <=> other
  self.sortable_number <=> other.sortable_number
end

#update_model(new_order) ⇒ Object



25
26
27
28
29
# File 'lib/pact_broker/domain/order_versions.rb', line 25

def update_model new_order
  # Sequel will only run the update if the column value has changed, so in 99% of
  # cases, only one update will occur.
  version_model.update(:order => new_order)
end