module Tamiyo::YamlHelper

Public Instance Methods

emit_block_mapping() { || ... } click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 68
def emit_block_mapping
  @emit.start_mapping nil, nil, true, YAML::Nodes::Mapping::BLOCK
  yield
  @emit.end_mapping
end
emit_block_sequence() { || ... } click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 56
def emit_block_sequence
  @emit.start_sequence nil, nil, true, YAML::Nodes::Sequence::BLOCK
  yield
  @emit.end_sequence
end
emit_end_of_one_document() click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 26
def emit_end_of_one_document
  @emit.end_document true
  @emit.end_stream
end
emit_flow_sequence() { || ... } click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 62
def emit_flow_sequence
  @emit.start_sequence nil, nil, true, YAML::Nodes::Sequence::FLOW
  yield
  @emit.end_sequence
end
emit_literal(value) click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 78
def emit_literal(value)
  @emit.scalar value, nil, nil, false, true, YAML::Nodes::Scalar::LITERAL
end
emit_pair(key, value) click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 31
def emit_pair(key, value)
  emit_plain key
  emit_plain value
end
emit_pair_with_literal_value(key, value) click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 36
def emit_pair_with_literal_value(key, value)
  emit_plain key
  emit_literal value
end
emit_pair_with_optional_sequence_value(key, value) click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 41
def emit_pair_with_optional_sequence_value(key, value)
  if value.kind_of? Array
    emit_pair_with_sequence_value key, value
  else
    emit_pair key, value
  end
end
emit_pair_with_sequence_value(key, value) click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 49
def emit_pair_with_sequence_value(key, value)
  emit_plain key
  emit_flow_sequence do
    value.each { |element| emit_plain element }
  end
end
emit_plain(value) click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 74
def emit_plain(value)
  @emit.scalar value, nil, nil, true, false, Psych::Nodes::Scalar::PLAIN
end
emit_start_of_one_document() click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 21
def emit_start_of_one_document
  @emit.start_stream Psych::Nodes::Stream::UTF8
  @emit.start_document [1, 1], [], true
end
setup_yaml_emitter_for(file) click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 17
def setup_yaml_emitter_for(file)
  @emit = YAML::Emitter.new file
end
yaml_event_stream_for(file) click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 84
def yaml_event_stream_for(file)
  queue = Queue.new
  Thread.new do
    handler = EventHandler.new queue
    YAML::Parser.new(handler).parse file
  end
  EventStream.new queue
end
yaml_from(data) click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 5
def yaml_from(data)
  YAML.load data
end
yaml_of(obj) click to toggle source
# File lib/tamiyo/yaml/yaml_helper.rb, line 11
def yaml_of(obj)
  YAML.dump obj
end