Sha256: 5d4dc19ab057baa278ccdc0036010ad9119ac925e832a15be035ce5009ef932f

Contents?: true

Size: 588 Bytes

Versions: 2

Compression:

Stored size: 588 Bytes

Contents

# frozen_string_literal: true

module Jimmy
  module Declaration
    # Define the schema that determines whether the +then+ or +else+ schemas
    # must be valid.
    # @param schema [Schema] The +if+ schema.
    # @param then_schema [Schema] The +then+ schema.
    # @param else_schema [Schema] The +else+ schema.
    # @return [self] self, for chaining
    def if(schema, then_schema = nil, else_schema = nil)
      set(if: cast_schema(schema)).tap do |s|
        s.then then_schema unless then_schema.nil?
        s.else else_schema unless else_schema.nil?
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jimmy-2.1.0 lib/jimmy/declaration/conditions.rb
jimmy-2.0.3 lib/jimmy/declaration/conditions.rb