Sha256: 43f9b75fd31d8ad8dc9030312ab2b1e65b350919bb21fa8db34c77b9f44a58c7

Contents?: true

Size: 587 Bytes

Versions: 3

Compression:

Stored size: 587 Bytes

Contents

require "forwardable"

module Formalist
  class Form
    class ValidatedResult
      extend Forwardable

      def_delegators :@result,
        :input,
        :schema,
        :elements,
        :validation,
        :output

      # @api private
      attr_reader :result

      def initialize(result)
        @result = result
      end

      def success?
        validation.success?
      end

      def messages
        validation.messages
      end

      def to_ast
        elements.map { |el| el.(output, schema.rules.map(&:to_ary), messages).to_ast }
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
formalist-0.2.2 lib/formalist/form/validated_result.rb
formalist-0.2.1 lib/formalist/form/validated_result.rb
formalist-0.2.0 lib/formalist/form/validated_result.rb