NAME Map::Tube::Text::Table - Table output for Map::Tube. SYNOPSIS use Map::Tube::Text::Table; my $obj = Map::Tube::Text::Table->new(%params); my $text = $obj->junctions; my $text = $obj->line($line); my $text = $obj->print; METHODS "new(%params)" Constructor. * "tube" Map::Tube object. It is required. Default value is undef. "junctions()" Print junctions. Returns string with unicode text table. "line($line)" Print line. Returns string with unicode text table. "print()" Print all (junctions + all lines). Returns string with unicode text table. ERRORS new(): Parameter 'tube' is required. Parameter 'tube' must be 'Map::Tube' object. From Class::Utils::set_params(): Unknown parameter '%s'. EXAMPLE # Pragmas. use strict; use warnings; # Modules. use Encode qw(encode_utf8); use English; use Error::Pure qw(err); use Map::Tube::Text::Table; # Error::Pure environment. $ENV{'ERROR_PURE'} = 'AllError'; # Arguments. if (@ARGV < 1) { print STDERR "Usage: $0 metro\n"; exit 1; } my $metro = $ARGV[0]; # Object. my $class = 'Map::Tube::'.$metro; eval "require $class;"; if ($EVAL_ERROR) { err "Cannot load '$class' class.", 'Error', $EVAL_ERROR; } # Metro object. my $tube = eval "$class->new"; if ($EVAL_ERROR) { err "Cannot create object for '$class' class.", 'Error', $EVAL_ERROR; } # GraphViz object. my $table = Map::Tube::Text::Table->new( 'tube' => $tube, ); # Print out. print encode_utf8($table->print); # Output without arguments like: # Usage: /tmp/SZXfa2g154 metro # Output with 'Tbilisi' argument like: # ┌──────────────────────────────────────────────────────────────────────────────────────────────────┠# │ Junctions │ # ├──────────────────┬──────────────────────────────────────────┬────────────────────────────────────┤ # │ Station │ Line │ Connected to │ # ├──────────────────┼──────────────────────────────────────────┼────────────────────────────────────┤ # │ სáƒáƒ“გურის მáƒáƒ”დáƒáƒœáƒ˜ │ áƒáƒ®áƒ›áƒ”ტელი-ვáƒáƒ კეთილის ხáƒáƒ–ი,სáƒáƒ‘ურთáƒáƒšáƒáƒ¡ ხáƒáƒ–ი │ მáƒáƒ ჯáƒáƒœáƒ˜áƒ¨áƒ•áƒ˜áƒšáƒ˜, ნáƒáƒ«áƒáƒšáƒáƒ“ევი, წერეთელი │ # └──────────────────┴──────────────────────────────────────────┴────────────────────────────────────┘ # ┌───────────────────────────────────────────────────────────┠# │ Line 'áƒáƒ®áƒ›áƒ”ტელი-ვáƒáƒ კეთილის ხáƒáƒ–ი' │ # ├──────────────────────┬────────────────────────────────────┤ # │ Station │ Connected to │ # ├──────────────────────┼────────────────────────────────────┤ # │ áƒáƒ®áƒ›áƒ”ტელის თეáƒáƒ¢áƒ ი │ სáƒáƒ áƒáƒ¯áƒ˜áƒ¨áƒ•áƒ˜áƒšáƒ˜ │ # │ სáƒáƒ áƒáƒ¯áƒ˜áƒ¨áƒ•áƒ˜áƒšáƒ˜ │ áƒáƒ®áƒ›áƒ”ტელის თეáƒáƒ¢áƒ ი, გურáƒáƒ›áƒ˜áƒ¨áƒ•áƒ˜áƒšáƒ˜ │ # │ გურáƒáƒ›áƒ˜áƒ¨áƒ•áƒ˜áƒšáƒ˜ │ სáƒáƒ áƒáƒ¯áƒ˜áƒ¨áƒ•áƒ˜áƒšáƒ˜, ღრმáƒáƒ¦áƒ”ლე │ # │ ღრმáƒáƒ¦áƒ”ლე │ გურáƒáƒ›áƒ˜áƒ¨áƒ•áƒ˜áƒšáƒ˜, დიდუბე │ # │ დიდუბე │ გáƒáƒªáƒ˜áƒ იძე, ღრმáƒáƒ¦áƒ”ლე │ # │ გáƒáƒªáƒ˜áƒ იძე │ დიდუბე, ნáƒáƒ«áƒáƒšáƒáƒ“ევი │ # │ ნáƒáƒ«áƒáƒšáƒáƒ“ევი │ გáƒáƒªáƒ˜áƒ იძე, სáƒáƒ“გურის მáƒáƒ”დáƒáƒœáƒ˜ │ # │ მáƒáƒ ჯáƒáƒœáƒ˜áƒ¨áƒ•áƒ˜áƒšáƒ˜ │ რუსთáƒáƒ•áƒ”ლი, სáƒáƒ“გურის მáƒáƒ”დáƒáƒœáƒ˜ │ # │ რუსთáƒáƒ•áƒ”ლი │ თáƒáƒ•áƒ˜áƒ¡áƒ£áƒ¤áƒšáƒ”ბის მáƒáƒ”დáƒáƒœáƒ˜, მáƒáƒ ჯáƒáƒœáƒ˜áƒ¨áƒ•áƒ˜áƒšáƒ˜ │ # │ თáƒáƒ•áƒ˜áƒ¡áƒ£áƒ¤áƒšáƒ”ბის მáƒáƒ”დáƒáƒœáƒ˜ │ áƒáƒ•áƒšáƒáƒ‘áƒáƒ ი, რუსთáƒáƒ•áƒ”ლი │ # │ áƒáƒ•áƒšáƒáƒ‘áƒáƒ ი │ 300 áƒáƒ áƒáƒ’ველი, თáƒáƒ•áƒ˜áƒ¡áƒ£áƒ¤áƒšáƒ”ბის მáƒáƒ”დáƒáƒœáƒ˜ │ # │ 300 áƒáƒ áƒáƒ’ველი │ áƒáƒ•áƒšáƒáƒ‘áƒáƒ ი, ისáƒáƒœáƒ˜ │ # │ ისáƒáƒœáƒ˜ │ 300 áƒáƒ áƒáƒ’ველი, სáƒáƒ›áƒ’áƒáƒ ი │ # │ სáƒáƒ›áƒ’áƒáƒ ი │ ვáƒáƒ კეთილი, ისáƒáƒœáƒ˜ │ # │ ვáƒáƒ კეთილი │ სáƒáƒ›áƒ’áƒáƒ ი │ # │ სáƒáƒ“გურის მáƒáƒ”დáƒáƒœáƒ˜ │ მáƒáƒ ჯáƒáƒœáƒ˜áƒ¨áƒ•áƒ˜áƒšáƒ˜, ნáƒáƒ«áƒáƒšáƒáƒ“ევი, წერეთელი │ # └──────────────────────┴────────────────────────────────────┘ # ┌────────────────────────────────────────────────────────────────────┠# │ Line 'სáƒáƒ‘ურთáƒáƒšáƒáƒ¡ ხáƒáƒ–ი' │ # ├─────────────────────────┬──────────────────────────────────────────┤ # │ Station │ Connected to │ # ├─────────────────────────┼──────────────────────────────────────────┤ # │ წერეთელი │ სáƒáƒ“გურის მáƒáƒ”დáƒáƒœáƒ˜, ტექნიკური უნივერსიტეტი │ # │ ტექნიკური უნივერსიტეტი │ სáƒáƒ›áƒ”დიცინრუნივერსიტეტი, წერეთელი │ # │ სáƒáƒ›áƒ”დიცინრუნივერსიტეტი │ დელისი, ტექნიკური უნივერსიტეტი │ # │ დელისი │ ვáƒáƒŸáƒ-ფშáƒáƒ•áƒ”ლáƒ, სáƒáƒ›áƒ”დიცინრუნივერსიტეტი │ # │ ვáƒáƒŸáƒ-ფშáƒáƒ•áƒ”ლრ│ დელისი │ # │ სáƒáƒ“გურის მáƒáƒ”დáƒáƒœáƒ˜ │ მáƒáƒ ჯáƒáƒœáƒ˜áƒ¨áƒ•áƒ˜áƒšáƒ˜, ნáƒáƒ«áƒáƒšáƒáƒ“ევი, წერეთელი │ # └─────────────────────────┴──────────────────────────────────────────┘ DEPENDENCIES Class::Utils, Error::Pure, Map::Tube::Text::Table::Utils, Readonly, Scalar::Util. SEE ALSO Map::Tube, Map::Tube::GraphViz. REPOSITORY <https://github.com/tupinek/Map-Tube-Text-Table> AUTHOR Michal Å paÄek <mailto:skim@cpan.org> <http://skim.cz> LICENSE AND COPYRIGHT © 2014 Michal Å paÄek Artistic License BSD 2-Clause License VERSION 0.01