#!/usr/bin/env ruby #============================================================================== # Refer to LICENSE.txt for licensing terms #============================================================================== require "bundler/setup" require "output_mode" module DemoIndex extend OutputMode::TLDR::Index register_callable(header: 'Integer') { |i| i } register_callable(header: 'Standard') { 'always visible' } register_callable(header: 'Verbose', verbose: true) { 'verbose visible' } register_callable(header: 'Simplified', verbose: false) { 'simplified visible' } register_callable(header: 'Yes/True') { true } register_callable(header: 'No/False') { false } register_callable(header: 'Missing') { nil } end module DemoShow extend OutputMode::TLDR::Show register_callable(header: 'Integer') { |i| i } register_callable(header: 'Standard') { 'always visible' } register_callable(header: 'Verbose', verbose: true) { 'verbose visible' } register_callable(header: 'Simplified', verbose: false) { 'simplified visible' } register_callable(header: 'Yes/True') { true } register_callable(header: 'No/False') { false } register_callable(header: 'Missing') { nil } end data = [1, 2, 3] puts <<~EOF #============================================================================== # Demo Verbose Index #============================================================================== #{DemoIndex.build_output(verbose: true).render(*data)} #============================================================================== # Demo "Simplified" Index # NOTE: Disabled for non-interactive shell, shows the verbose output instead #============================================================================== #{DemoIndex.build_output(verbose: false).render(*data)} #============================================================================== # Demo Verbose Show #============================================================================== #{DemoShow.build_output(verbose: true).render(*data)} #============================================================================== # Demo "Simplified" Show # NOTE: Disabled for non-interactive shell, shows the verbose output instead #============================================================================== #{DemoShow.build_output(verbose: false).render(*data)} EOF