Sha256: 7ca3f233ca267b7ddc3c73222b5a892008982d414a5577e75748b86365ddceeb

Contents?: true

Size: 478 Bytes

Versions: 9

Compression:

Stored size: 478 Bytes

Contents

module Swift
  class Errors < Array
    attr_accessor :relation

    def initialize relation
      @relation = relation
    end
  end # Errors

  class Record
    def self.validations &validations
      define_method :validate do
        errors = Errors.new(self)
        instance_exec errors, &validations
        errors
      end
    end

    def validate errors = Errors.new(self)
      errors
    end

    def valid?
      validate.empty?
    end
  end # Record
end # Swift

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
swift-1.2.3 lib/swift/validations.rb
swift-1.2.2 lib/swift/validations.rb
swift-1.2.1 lib/swift/validations.rb
swift-1.2.0 lib/swift/validations.rb
swift-1.1.0 lib/swift/validations.rb
swift-1.0.3 lib/swift/validations.rb
swift-1.0.2 lib/swift/validations.rb
swift-1.0.1 lib/swift/validations.rb
swift-1.0.0 lib/swift/validations.rb