class Eskimo::ASCII::Either

Render a fallback component in case the first one evaluates to an empty String.

Either.new(->(**) { false }, "Fallback here")
# => "Fallback here"

Either.new(->(**) { "Hi!" }, "Fallback here")
# => "Hi!"

Attributes

children[R]

Public Class Methods

new(primary, fallback) click to toggle source
# File lib/eskimo/ascii/components/either.rb, line 16
def initialize(primary, fallback)
  @children = [ primary, fallback ]
end

Public Instance Methods

render(render:, **) click to toggle source
# File lib/eskimo/ascii/components/either.rb, line 20
def render(render:, **)
  for child in children do
    rendered = render[child]

    return rendered unless rendered.empty?
  end
end