Module: Modelizer::Validations

Defined in:
lib/modelizer/validations.rb

Instance Method Summary collapse

Instance Method Details

#test_validations_for(attribute, *validations) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/modelizer/validations.rb', line 3

def test_validations_for attribute, *validations
  @klass ||= name.gsub(/Test$/, "").constantize
  @model ||= ::Modelizer.underscore @klass.name

  unless instance_methods.collect { |m| m.to_s }.include? "new_#{@model}"
    raise "no model template for #{@klass.name}"
  end

  # FIX: location in original test file

  validations.each do |v|
    test = send "validation_lambda_for_#{v}", @klass, @model, attribute
    define_method "test_#{attribute}_#{v}", &test
  end
end