Sha256: 6a9786dbde61f5ee2b57a806ef2036d9eff693b2598485f3772d9ae4225038f7
Contents?: true
Size: 1.3 KB
Versions: 9
Compression:
Stored size: 1.3 KB
Contents
## # As Subscriber 是联系人的领域逻辑关注点。 module Unidom::Contact::Concerns::AsSubscriber extend ActiveSupport::Concern included do |includer| has_many :contact_subscriptions, class_name: 'Unidom::Contact::ContactSubscription', as: :subscriber ## # 将当前参与者与指定的联系方式 contact 关联起来。 at 是关联时间,缺省为当前时间。 name 是联系方式的备注。 primary 是主要联系标志。 # 如: current_person.subscribe_contact! phone_number, at: Time.now, name: '私人手机号码', primary: true def subscribe_contact!(contact, at: Time.now, name: nil, primary: true) raise ArgumentError.new('The contact argument is required.') if contact.blank? raise ArgumentError.new('The at argument is required.' ) if at.blank? contact_subscriptions.contact_is(contact).valid_at(now: at).alive.first_or_create! name: name||self.name, elemental: primary, opened_at: at end def subscribe_contact?(contact, at: Time.now, primary: true) raise ArgumentError.new('The contact argument is required.') if contact.blank? raise ArgumentError.new('The at argument is required.' ) if at.blank? contact_subscriptions.contact_is(contact).valid_at(now: at).alive.primary(primary).exists? end end end
Version data entries
9 entries across 9 versions & 1 rubygems