Sha256: 96c73e3fcdecd001f18caac4a3aa8b7599891079125926b071366dc8a248f893

Contents?: true

Size: 863 Bytes

Versions: 5

Compression:

Stored size: 863 Bytes

Contents

class Validation
  attr_accessor :params, :field
  
  def self.validate(type, params, field, name, value, record, errors)
    validation = case type
    when 'excluded_from'
      ExcludedFromValidation
    when 'excludes_combinations'
      ExcludesCombinationsValidation
    when 'format'
      FormatValidation
    when 'included_in'
      IncludedInValidation
    when 'includes_combinations'
      IncludesCombinationsValidation
    when 'length'
      LengthValidation
    when 'required'
      RequiredValidation
    when 'unique'
      UniqueValidation
    when 'password_confirmation'
      PasswordConfirmationValidation
    end
    validation.validate(params, field, name, value, record, errors)
  end
  
  def initialize(params)
    @params = params
  end

  def describe
    "is invalid"
  end
  
  def to_json(*a)
    describe.to_json(*a)
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
yodel-0.0.7 lib/yodel/models/core/validations/validation.rb
yodel-0.0.4 lib/yodel/models/core/validations/validation.rb
yodel-0.0.3 lib/yodel/models/core/validations/validation.rb
yodel-0.0.2 lib/yodel/models/core/validations/validation.rb
yodel-0.0.1 lib/yodel/models/core/validations/validation.rb