Sha256: 45f732a8eac291dd54da0b673b581ac20ea2bb6c807c979a97c2a10085873aff

Contents?: true

Size: 556 Bytes

Versions: 47

Compression:

Stored size: 556 Bytes

Contents

module Xeroizer
  module Record
    class Validator
      class BlockValidator < Validator
        def valid?(record)
          fail "No block provided" unless options[:block]
          
          result = record.instance_eval &options[:block]
          
          record.errors << [attribute, message] unless result == true
        end

        private
        
        def message
          supplied_message = options[:message] || ""
          supplied_message.empty? ? "block condition failed" : supplied_message
        end
      end
    end
  end
end

Version data entries

47 entries across 47 versions & 3 rubygems

Version Path
xeroizer-3.0.1 lib/xeroizer/record/validators/block_validator.rb
xeroizer-3.0.0 lib/xeroizer/record/validators/block_validator.rb
xeroizer-3-pre-beta-3.0.0.pre.beta lib/xeroizer/record/validators/block_validator.rb
xeroizer-2.20.0 lib/xeroizer/record/validators/block_validator.rb
xeroizer-2.19.0 lib/xeroizer/record/validators/block_validator.rb
xeroizer-2.18.1 lib/xeroizer/record/validators/block_validator.rb
xeroizer-2.17.1 lib/xeroizer/record/validators/block_validator.rb
xeroizer-2.16.5 lib/xeroizer/record/validators/block_validator.rb
xeroizer-2.16.4 lib/xeroizer/record/validators/block_validator.rb
xeroizer-2.16.3 lib/xeroizer/record/validators/block_validator.rb
xeroizer-2.16.1 lib/xeroizer/record/validators/block_validator.rb
xeroizer-2.16.0 lib/xeroizer/record/validators/block_validator.rb
xeroizer-2.15.9 lib/xeroizer/record/validators/block_validator.rb
xeroizer-2.15.8 lib/xeroizer/record/validators/block_validator.rb
xeroizer-2.15.7 lib/xeroizer/record/validators/block_validator.rb
xeroizer-2.15.6 lib/xeroizer/record/validators/block_validator.rb
xeroizer-float-2.15.5.2 lib/xeroizer/record/validators/block_validator.rb
xeroizer-float-2.15.5.1 lib/xeroizer/record/validators/block_validator.rb
xeroizer-2.15.5 lib/xeroizer/record/validators/block_validator.rb
xeroizer-float-2.15.3.16 lib/xeroizer/record/validators/block_validator.rb