Class: Bovem::Console

Inherits:
Object
  • Object
show all
Includes:
Bovem::ConsoleMethods::Interactions, Bovem::ConsoleMethods::Logging, Bovem::ConsoleMethods::Output, Bovem::ConsoleMethods::StyleHandling, Lazier::I18n
Defined in:
lib/bovem/console.rb

Overview

This is a text utility wrapper console I/O.

Instance Attribute Summary (collapse)

Class Method Summary (collapse)

Instance Method Summary (collapse)

Methods included from Bovem::ConsoleMethods::Interactions

#read, #task

Methods included from Bovem::ConsoleMethods::Logging

#begin, #debug, #error, #fatal, #get_banner, #info, #status, #warn, #write, #write_banner_aligned

Methods included from Bovem::ConsoleMethods::Output

#format, #format_right, #indent, #reset_indentation, #set_indentation, #with_indentation, #wrap

Methods included from Bovem::ConsoleMethods::StyleHandling

#replace_markers

Constructor Details

- (Console) initialize

Initializes a new Console.



609
610
611
612
613
# File 'lib/bovem/console.rb', line 609

def initialize
  @indentation = 0
  @indentation_string = " "
  self.i18n_setup(:bovem, ::File.absolute_path(::Pathname.new(::File.dirname(__FILE__)).to_s + "/../../locales/"))
end

Instance Attribute Details

- (Fixnum) indentation

Current indentation width.

Returns:

  • (Fixnum)

    Current indentation width.



591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
# File 'lib/bovem/console.rb', line 591

class Console
  attr_accessor :indentation
  attr_accessor :indentation_string

  include Lazier::I18n
  include Bovem::ConsoleMethods::StyleHandling
  include Bovem::ConsoleMethods::Output
  include Bovem::ConsoleMethods::Logging
  include Bovem::ConsoleMethods::Interactions

  # Returns a unique instance for Console.
  #
  # @return [Console] A new instance.
  def self.instance
    @instance ||= ::Bovem::Console.new
  end

  # Initializes a new Console.
  def initialize
    @indentation = 0
    @indentation_string = " "
    self.i18n_setup(:bovem, ::File.absolute_path(::Pathname.new(::File.dirname(__FILE__)).to_s + "/../../locales/"))
  end

  # Get the width of the terminal.
  #
  # @return [Fixnum] The current width of the terminal. If not possible to retrieve the width, it returns `80.
  def line_width
    begin
      require "io/console" if !defined?($stdin.winsize)
      $stdin.winsize[1]
    rescue Exception => e
      80
    end
  end
end

- (String) indentation_string

The string used for indentation.

Returns:

  • (String)

    The string used for indentation.



591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
# File 'lib/bovem/console.rb', line 591

class Console
  attr_accessor :indentation
  attr_accessor :indentation_string

  include Lazier::I18n
  include Bovem::ConsoleMethods::StyleHandling
  include Bovem::ConsoleMethods::Output
  include Bovem::ConsoleMethods::Logging
  include Bovem::ConsoleMethods::Interactions

  # Returns a unique instance for Console.
  #
  # @return [Console] A new instance.
  def self.instance
    @instance ||= ::Bovem::Console.new
  end

  # Initializes a new Console.
  def initialize
    @indentation = 0
    @indentation_string = " "
    self.i18n_setup(:bovem, ::File.absolute_path(::Pathname.new(::File.dirname(__FILE__)).to_s + "/../../locales/"))
  end

  # Get the width of the terminal.
  #
  # @return [Fixnum] The current width of the terminal. If not possible to retrieve the width, it returns `80.
  def line_width
    begin
      require "io/console" if !defined?($stdin.winsize)
      $stdin.winsize[1]
    rescue Exception => e
      80
    end
  end
end

Class Method Details

+ (Console) instance

Returns a unique instance for Console.

Returns:



604
605
606
# File 'lib/bovem/console.rb', line 604

def self.instance
  @instance ||= ::Bovem::Console.new
end

Instance Method Details

- (Fixnum) line_width

Get the width of the terminal.

Returns:

  • (Fixnum)

    The current width of the terminal. If not possible to retrieve the width, it returns `80.



618
619
620
621
622
623
624
625
# File 'lib/bovem/console.rb', line 618

def line_width
  begin
    require "io/console" if !defined?($stdin.winsize)
    $stdin.winsize[1]
  rescue Exception => e
    80
  end
end