Sha256: b0278da49a4494a7ab56134767974dc99e5e1641b1fe83319dbaf3135f29c0fd

Contents?: true

Size: 850 Bytes

Versions: 1

Compression:

Stored size: 850 Bytes

Contents

module Org
  module Model::User
    extend ActiveSupport::Concern

    included do
      has_many :members, class_name: 'Org::Member', dependent: :nullify
      has_many :organs, class_name: 'Org::Organ', through: :members
      #has_many :organs, -> { distinct_on(:id) }, class_name: 'Org::Organ', through: :members

      after_save :copy_avatar_to_members, if: -> { attachment_changes['avatar'].present? }
    end

    def available_account_identities
      accounts.where.not(identity: members.pluck(:identity)).confirmed
    end

    def copy_avatar_to_members
      members.each do |member|
        member.avatar.attach attachment_changes['avatar'].blob if member.avatar.blank?
      end
    end

    def init_avatar_to_members
      members.each do |member|
        member.avatar.attach avatar_blob if avatar_blob
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rails_org-0.0.1 app/models/org/model/user.rb