Class: PactBroker::Domain::Version

Inherits:
Sequel::Model
  • Object
show all
Defined in:
lib/pact_broker/domain/version.rb

Direct Known Subclasses

Versions::LatestVersion

Instance Method Summary collapse

Instance Method Details

#after_createObject

Isn’t called on upsert when the record is updated with Sqlite Is called with Postgres/MySQL Haven’t had time to dig into why



150
151
152
153
154
# File 'lib/pact_broker/domain/version.rb', line 150

def after_create
  super
  OrderVersions.(self) unless self.order
  refresh
end

#before_destroyObject



156
157
158
159
# File 'lib/pact_broker/domain/version.rb', line 156

def before_destroy
  PactBroker::Domain::Tag.where(version: self).destroy
  super
end

#head_tagsObject



169
170
171
# File 'lib/pact_broker/domain/version.rb', line 169

def head_tags
  tags.select(&:latest_for_pacticipant?)
end

#latest_for_branch?Boolean

Returns:

  • (Boolean)


178
179
180
# File 'lib/pact_broker/domain/version.rb', line 178

def latest_for_branch?
  branch ? latest_version_for_branch.order == order : nil
end

#latest_for_pacticipant?Boolean

Returns:

  • (Boolean)


182
183
184
# File 'lib/pact_broker/domain/version.rb', line 182

def latest_for_pacticipant?
  latest_version_for_pacticipant == self
end

#latest_pact_publicationObject

What about provider??? This makes no sense



174
175
176
# File 'lib/pact_broker/domain/version.rb', line 174

def latest_pact_publication
  pact_publications.last
end

#to_sObject



161
162
163
# File 'lib/pact_broker/domain/version.rb', line 161

def to_s
  "Version: number=#{number}, pacticipant=#{pacticipant_id}"
end

#version_and_updated_dateObject



165
166
167
# File 'lib/pact_broker/domain/version.rb', line 165

def version_and_updated_date
  "Version #{number} - #{updated_at.to_time.localtime.strftime("%d/%m/%Y")}"
end