solid-process/solid-result

View on GitHub
examples/service_objects/app/models/account.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

class Account < ActiveRecord::Base
  has_many :memberships, inverse_of: :account, dependent: :destroy, class_name: '::Account::Member'
  has_many :users, through: :memberships, inverse_of: :accounts

  where_ownership = -> { where(account_members: {role: :owner}) }

  has_one :ownership, where_ownership, dependent: nil, inverse_of: :account, class_name: '::Account::Member'
  has_one :owner, through: :ownership, source: :user
end