Module: DataMapper::Validate::ValidatesWithBlock
- Included in:
- ClassMethods
- Defined in:
- lib/gems/dm-validations-0.9.9/lib/dm-validations/block_validator.rb
Overview
Instance Method Summary collapse
-
#validates_with_block(*fields, &block) ⇒ Object
Validate using the given block.
Instance Method Details
#validates_with_block(*fields, &block) ⇒ Object
Validate using the given block. The block given needs to return:
- result::<Boolean>, Error Message::<String>
46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/gems/dm-validations-0.9.9/lib/dm-validations/block_validator.rb', line 46 def validates_with_block(*fields, &block) @__validates_with_block_count ||= 0 @__validates_with_block_count += 1 # create method and pass it to MethodValidator raise ArgumentError.new('You need to pass a block to validates_with_block method') unless block_given? method_name = "__validates_with_block_#{@__validates_with_block_count}".to_sym define_method(method_name, block) opts = opts_from_validator_args(fields) opts[:method] = method_name add_validator_to_context(opts, fields.empty? ? [method_name] : fields, DataMapper::Validate::MethodValidator) end |