Skip to content

module YAML::Schema::Core

Provides utility methods for the YAML 1.1 core schema with the additional independent types specified in http://yaml.org/type/

Class methods

.each(node : YAML::Nodes::Mapping

Invokes the block for each of the given nodes keys and values, resolving merge keys (<<) when found (keys and values of the resolved merge mappings are yielded, recursively).

View source

.parse(data : String | IO)

Deserializes a YAML document.

Same as YAML.parse.

View source

.parse_all(data : String | IO)

Deserializes multiple YAML documents.

Same as YAML.parse_all.

View source

.parse_null_or(node : YAML::Nodes::Node

If node parses to a null value, returns nil, otherwise invokes the given block.

View source

.parse_scalar(pull_parser : YAML::PullParser) : Nil | Bool | Int64 | Float64 | String | Time | Bytes

Assuming the pull_parser is positioned in a scalar, parses it according to the core schema, taking the scalar's style and tag into account, then advances the pull parser.

View source

.parse_scalar(string : String) : Nil | Bool | Int64 | Float64 | String | Time | Bytes

Parses a string according to the core schema, assuming the string had a plain style.

require "yaml"

YAML::Schema::Core.parse_scalar("hello") # => "hello"
YAML::Schema::Core.parse_scalar("1.2")   # => 1.2
YAML::Schema::Core.parse_scalar("false") # => false
View source

.parse_scalar(node : YAML::Nodes::Scalar) : Nil | Bool | Int64 | Float64 | String | Time | Bytes

Parses a scalar value from the given node.

View source

.reserved_string?(string) : Bool

Returns whether a string is reserved and must non be output with a plain style, according to the core schema.

require "yaml"

YAML::Schema::Core.reserved_string?("hello") # => false
YAML::Schema::Core.reserved_string?("1.2")   # => true
YAML::Schema::Core.reserved_string?("false") # => true
View source