Module: Utility
- Included in:
- Rumodule
- Defined in:
- bin/rumodule
Overview
Utility routines for Rumodule internal functions.
Constant Summary
- LOADED =
List of loaded modules.
'RUMODULE_LOADED'
- SYSLOADED =
List of loaded system modules.
'RUMODULE_SYSLOADED'
- SUBLOADED =
List of loaded submodules.
'RUMODULE_SUBLOADED'
- MODULEDIRS =
List of directories including modules.
ENV['RUMODULE'] ? ENV['RUMODULE'].split(':') : []
- RUMODULE_PUSH =
Stack to store pushed env vars.
'RUMODULE_PUSH'
Instance Method Summary (collapse)
-
- (Object) abort
Exit program without shell output.
-
- (Array<String>) all_loaded
List of loaded modules (normal + system).
-
- (Object) commonHelp
Rumodule help.
-
- (Object) error(msg)
Report error.
-
- (String) findModule(m)
Return module file.
-
- (Object) help(str)
Empty help for modules.
-
- (Array<String>) loaded
List of loaded modules.
-
- (Object) loadModule(m)
Load module content.
-
- (Object) registerModule(m, list = :normal)
Register module as loaded.
-
- (Array<String>) sys_loaded
List of loaded system modules.
-
- (Object) unregisterModule(m, list = :normal)
UnRegister module as loaded.
-
- (Object) usage(msg)
Report usage info.
-
- (Object) warning(msg)
Report warning.
Instance Method Details
- (Object) abort
Exit program without shell output.
491 492 493 494 |
# File 'bin/rumodule', line 491 def abort STDERR.flush exit( false ) end |
- (Array<String>) all_loaded
List of loaded modules (normal + system).
462 463 464 465 466 |
# File 'bin/rumodule', line 462 def all_loaded getenvar( LOADED, true ).value + getenvar( SYSLOADED, true ).value + getenvar( SUBLOADED, true ).value end |
- (Object) commonHelp
Rumodule help.
604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 |
# File 'bin/rumodule', line 604 def commonHelp usage %Q{ Available Commands and Args: - add modulefile+ - sadd modulefile+ - rm modulefile+ - list - slist - which modulefile - display modulefile - avail - savail - help modulefile } end |
- (Object) error(msg)
Report error.
477 478 479 480 |
# File 'bin/rumodule', line 477 def error( msg ) STDERR.puts( "rumodule error: #{msg}" ) abort end |
- (String) findModule(m)
Return module file. If argument is dir, then check for directory content for modules.
Alternatively 'm' can be abspath to module.
504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 |
# File 'bin/rumodule', line 504 def findModule( m ) if m[0] == '/' # Abspath m else # Search for module. pwd = Dir.pwd ret = nil MODULEDIRS.each do |mdir| Dir.chdir mdir if File.directory?( m ) ret = Dir[ "#{m}/*" ].sort[-1] elsif File.exist?( m ) ret = m end if ret ret = mdir + "/" + ret break end end Dir.chdir( pwd ) ret end end |
- (Object) help(str)
Empty help for modules. Help gets defined in CmdHelp when help is requested by user.
624 625 626 |
# File 'bin/rumodule', line 624 def help( str ) true end |
- (Array<String>) loaded
List of loaded modules.
446 447 448 |
# File 'bin/rumodule', line 446 def loaded getenvar( LOADED, true ).value end |
- (Object) loadModule(m)
Load module content.
546 547 548 549 550 551 552 553 554 |
# File 'bin/rumodule', line 546 def loadModule( m ) path = findModule( m ) if path && File.exist?( path ) instance_eval( IO::read( path ), path ) path else error "Unknown module: \"#{m}\"!" end end |
- (Object) registerModule(m, list = :normal)
Register module as loaded.
560 561 562 563 564 565 566 |
# File 'bin/rumodule', line 560 def registerModule( m, list = :normal ) case list when :normal; getenvar( LOADED, true ).append_path( m ) when :system; getenvar( SYSLOADED, true ).append_path( m ) when :sub; getenvar( SUBLOADED, true ).append_path( m ) end end |
- (Array<String>) sys_loaded
List of loaded system modules.
454 455 456 |
# File 'bin/rumodule', line 454 def sys_loaded getenvar( SYSLOADED, true ).value end |
- (Object) unregisterModule(m, list = :normal)
UnRegister module as loaded.
572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 |
# File 'bin/rumodule', line 572 def unregisterModule( m, list = :normal ) case list when :normal; loaded = getenvar( LOADED ) when :system; loaded = getenvar( SYSLOADED ) when :sub; loaded = getenvar( SUBLOADED ) end # loaded = getenvar( LOADED ) index = loaded.value.index( m ) if index # Accurate match. loaded.delete_index( index ) else # Regexp match. loaded.length.times do |i| if Regexp.new( "#{m}/" ).match( loaded.value[i] ) loaded.delete_index( i ) return end end end end |
- (Object) usage(msg)
Report usage info.
470 471 472 473 |
# File 'bin/rumodule', line 470 def usage( msg ) STDERR.puts( msg ) abort end |
- (Object) warning(msg)
Report warning.
484 485 486 487 |
# File 'bin/rumodule', line 484 def warning( msg ) STDERR.puts( "rumodule warning: #{msg}" ) abort end |