Module: Psychgus::Stylers

Included in:
Psychgus
Defined in:
lib/psychgus/stylers.rb

Overview

A collection of commonly-used Styler classes.

Examples:

require 'psychgus'

class EggCarton
  def initialize
    @eggs = {
      :styles => ['fried', 'scrambled', ['BBQ', 'ketchup & mustard']],
      :colors => ['brown', 'white', ['blue', 'green']]
    }
  end
end

hierarchy = Psychgus::HierarchyStyler.new(io: $stdout)

puts EggCarton.new.to_yaml(stylers: [
  Psychgus::NoSymStyler.new,
  Psychgus::NoTagStyler.new,
  Psychgus::CapStyler.new,
  Psychgus::FlowStyler.new(4),
  hierarchy
])

# Output:
# ---
# Eggs:
#   Styles: [Fried, Scrambled, [BBQ, Ketchup & Mustard]]
#   Colors: [Brown, White, [Blue, Green]]

# (1:1):Psych::Nodes::Stream - <root:(0:0)>
# (1:1):Psych::Nodes::Document - <stream:(1:1)>
# (1:1):Psych::Nodes::Mapping - <doc:(1:1)>
#  (2:1):Eggs - <map:(1:1)>
#   (3:1):Psych::Nodes::Mapping - <Eggs:(2:1)>
#    (4:1):Styles - <map:(3:1)>
#     (5:1):Psych::Nodes::Sequence - <Styles:(4:1)>
#      (6:1):Fried - <seq:(5:1)>
#      (6:2):Scrambled - <seq:(5:1)>
#      (6:3):Psych::Nodes::Sequence - <seq:(5:1)>
#       (7:1):BBQ - <seq:(6:3)>
#       (7:2):Ketchup & Mustard - <seq:(6:3)>
#    (4:2):Colors - <map:(3:1)>
#     (5:1):Psych::Nodes::Sequence - <Colors:(4:2)>
#      (6:1):Brown - <seq:(5:1)>
#      (6:2):White - <seq:(5:1)>
#      (6:3):Psych::Nodes::Sequence - <seq:(5:1)>
#       (7:1):Blue - <seq:(6:3)>
#       (7:2):Green - <seq:(6:3)>

See Also:

Author:

  • Jonathan Bradley Whited (@esotericpig)

Since:

  • 1.2.0

Defined Under Namespace

Classes: CapStyler, FlowStyler, HierarchyStyler, MapFlowStyler, NoSymStyler, NoTagStyler, SeqFlowStyler