Sha256: 3a8a4f078225939a496d78abbdcf8d4d272d84121521ab5ed5d23f6434b7e622
Contents?: true
Size: 957 Bytes
Versions: 8
Compression:
Stored size: 957 Bytes
Contents
## # Party Relation 是参与者关系。 class Unidom::Party::PartyRelation < Unidom::Party::ApplicationRecord self.table_name = 'unidom_party_relations' include Unidom::Common::Concerns::ModelExtension belongs_to :source_party, polymorphic: true belongs_to :target_party, polymorphic: true scope :source_party_is, ->(source_party) { where source_party: source_party } scope :target_party_is, ->(target_party) { where target_party: target_party } def self.relate!(source_party: nil, target_party: nil, linkage_code: 'FRND', grade: 0, opened_at: Time.now, priority: 0, attributes: {}) relation = source_party_is(source_party).target_party_is(target_party).linkage_coded_as(linkage_code).first_or_initialize grade: grade, priority: priority, opened_at: opened_at relation.assign_attributes attributes relation.save! relation end end unless Unidom::Common::Neglection.namespace_neglected? 'Unidom::Party::PartyRelation'
Version data entries
8 entries across 8 versions & 1 rubygems