Sha256: a7569d56ce76348876a620edf35ab4a6138dcf2fa3007779253a78af1bdc132e

Contents?: true

Size: 613 Bytes

Versions: 8

Compression:

Stored size: 613 Bytes

Contents

def codename
  super&.to_sym
end

event :validate_codename, :validate, on: :update, changed: :codename do
  validate_codename_permission
  validate_codename_uniqueness
end

event :reset_codename_cache, :integrate, changed: :codename do
  Card::Codename.reset_cache
end

private

def validate_codename_permission
  return if Auth.always_ok?
  errors.add :codename, tr(:only_admins_codename)
end

def validate_codename_uniqueness
  return (self.codename = nil) if codename.blank?
  return if errors.present? || !Card.find_by_codename(codename)
  errors.add :codename, tr(:error_code_in_use, codename: codename)
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
card-1.96.8 mod/core/set/all/codename.rb
card-1.96.7 mod/core/set/all/codename.rb
card-1.96.6 mod/core/set/all/codename.rb
card-1.96.5 mod/core/set/all/codename.rb
card-1.96.4 mod/core/set/all/codename.rb
card-1.96.3 mod/core/set/all/codename.rb
card-1.96.2 mod/core/set/all/codename.rb
card-1.96.1 mod/core/set/all/codename.rb