1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-24 07:39:39 +02:00
Maybe/app/models/merchant.rb
2025-04-02 17:48:34 -04:00

24 lines
549 B
Ruby

class Merchant < ApplicationRecord
has_many :transactions, dependent: :nullify, class_name: "Account::Transaction"
validates :name, presence: true, uniqueness: true
scope :alphabetically, -> { order(:name) }
before_save :normalize_name
class << self
def normalize_name(name)
name.downcase.strip.titleize
end
def find_or_create_by_normalized_name!(name)
find_or_create_by!(name: normalize_name(name))
end
end
private
def normalize_name
self.name = self.class.normalize_name(name)
end
end