Sha256: 35671bb4d0960298db865b9e8c66efe7ad32028467d53d3888326a60bce3b077

Contents?: true

Size: 798 Bytes

Versions: 3

Compression:

Stored size: 798 Bytes

Contents

module Vanguard
  class Validator
    class Builder
      include Vanguard::DSL

      # Return rules
      #
      # @return [Enumerator<Rule>]
      #
      # @api private
      #
      attr_reader :rules

      # Initialize object
      #
      # @return [undefined]
      #
      # @api private
      #
      def initialize(&block)
        @rules = []
        if block_given?
          instance_exec(&block)
        end
      end

      # Add rule
      #
      # @param [Rule] rule
      #
      # @return [self]
      #
      # @api private
      #
      def add(rule)
        @rules << rule
        self
      end

      # Return validator
      #
      # @return [Validator]
      #
      # @api private
      #
      def validator
        Validator.new(rules)
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
vanguard-0.0.5 lib/vanguard/validator/builder.rb
vanguard-0.0.4 lib/vanguard/validator/builder.rb
vanguard-0.0.3 lib/vanguard/validator/builder.rb