module Account::Entryable extend ActiveSupport::Concern TYPES = %w[Account::Valuation Account::Transaction Account::Trade] def self.from_type(entryable_type) entryable_type.presence_in(TYPES).constantize end included do has_one :entry, as: :entryable, touch: true end end