Add Sluggable concern and unique validation to Budget, Group and Heading

* What: We need to generate slug on Budget, Group and Heading classes, validating its unique for its scope

* How: Adding a presence and unique validation using Budget always as scope.
This commit is contained in:
Bertocq
2017-07-04 14:21:24 +02:00
parent 4535fc9345
commit e3d89261a6
3 changed files with 17 additions and 4 deletions

View File

@@ -1,13 +1,15 @@
class Budget < ActiveRecord::Base
include Measurable
include Sluggable
PHASES = %w(accepting reviewing selecting valuating balloting reviewing_ballots finished).freeze
CURRENCY_SYMBOLS = %w(€ $ £ ¥).freeze
validates :name, presence: true
validates :name, presence: true, uniqueness: true
validates :phase, inclusion: { in: PHASES }
validates :currency_symbol, presence: true
validates :slug, presence: true, format: /\A[a-z0-9\-_]+\z/
has_many :investments, dependent: :destroy
has_many :ballots, dependent: :destroy