Sha256: 99e9a09ad05973f2e5ca40da736aedf8c6139cd51376bd4c7cb1d8c6f50b31fb
Contents?: true
Size: 1 KB
Versions: 37
Compression:
Stored size: 1 KB
Contents
require 'pact_broker/db' require 'pact_broker/messages' require 'pact_broker/repositories/helpers' module PactBroker module Domain class Pacticipant < Sequel::Model include Messages set_primary_key :id one_to_many :versions, :order => :order, :reciprocal => :pacticipant one_to_many :labels, :order => :name, :reciprocal => :pacticipant one_to_many :pacts dataset_module do include PactBroker::Repositories::Helpers def label label_name filter = name_like(Sequel[:labels][:name], label_name) join(:labels, {pacticipant_id: :id}).where(filter) end end def latest_version versions.last end def to_s "Pacticipant: id=#{id}, name=#{name}" end def validate messages = [] messages << message('errors.validation.attribute_missing', attribute: 'name') unless name messages end end Pacticipant.plugin :timestamps, update_on_create: true end end
Version data entries
37 entries across 37 versions & 1 rubygems