Class: Rubu::Trail
- Inherits:
-
Move
- Object
- Move
- Rubu::Trail
- Includes:
- MoveStyles
- Defined in:
- lib/rubu.rb
Overview
Trail with name. Trail is a collection of Steps and/or Trails.
Constant Summary
- @@trails =
Trail hash.
{}
Instance Attribute Summary (collapse)
-
- (Object) name
readonly
Returns the value of attribute name.
Attributes inherited from Move
#errmsg, #output, #status, #subs
Class Method Summary (collapse)
-
+ (Object) [](name)
Reference Trail by name.
-
+ (Object) form(name = nil, &blk)
Replacement (alias) for new method.
-
+ (Object) load_setup(setup_file)
Load a setup file.
-
+ (Object) run(trails = 'default')
Run selected trail(s).
-
+ (Object) setup(spec)
Apply configuration options and command parameters, if any, to Rubu.
Instance Method Summary (collapse)
-
- (Trail) initialize(name = nil, &blk)
constructor
Create Trail object.
-
- (Object) pick(trail)
Take trail into use.
-
- (Object) run
Default run style for Trail.
Methods included from MoveStyles
Methods inherited from Move
#display, #error, #host, #host_in, #host_out, #set_show_shell_warning, #use, #warn
Constructor Details
- (Trail) initialize(name = nil, &blk)
Create Trail object. Named Trails are registered and can be referenced later.
734 735 736 737 738 739 740 741 742 743 |
# File 'lib/rubu.rb', line 734 def initialize( name = nil, &blk ) super() @name = name host_in instance_eval &blk host_out if @name @@trails[ @name ] = self end end |
Instance Attribute Details
- (Object) name (readonly)
Returns the value of attribute name
730 731 732 |
# File 'lib/rubu.rb', line 730 def name @name end |
Class Method Details
+ (Object) [](name)
Reference Trail by name.
725 726 727 |
# File 'lib/rubu.rb', line 725 def self.[]( name ) @@trails[ name ] end |
+ (Object) form(name = nil, &blk)
Replacement (alias) for new method.
719 720 721 |
# File 'lib/rubu.rb', line 719 def self.form( name = nil, &blk ) self.new( name, &blk ) end |
+ (Object) load_setup(setup_file)
Load a setup file.
758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 |
# File 'lib/rubu.rb', line 758 def Trail.load_setup( setup_file ) if File.exist? setup_file conf = YAML.load_file( setup_file ) conf.each do |k,v| scope = nil case k when :var; scope = Var when :order; scope = Order when :info; scope = Info end v.each do |k2,v2| scope[ k2 ] = v2 end end end end |
+ (Object) run(trails = 'default')
Run selected trail(s).
815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 |
# File 'lib/rubu.rb', line 815 def Trail.run( trails = 'default' ) unless trails.kind_of? Array trails = [ trails ] end trails.each do |name| begin ret = Trail[ name ].run if ret.status == :error STDERR.puts "Rubu FAILURE..." exit false end rescue STDERR.puts "Broken trail: \"#{name}\"..." exit false end end State.save exit true end |
+ (Object) setup(spec)
Apply configuration options and command parameters, if any, to Rubu.
786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 |
# File 'lib/rubu.rb', line 786 def Trail.setup( spec ) Trail.load_setup( "#{ENV['HOME']}/.rubu.yml" ) Trail.load_setup( ENV['RUBU_CONF'] ) if ENV['RUBU_CONF'] Trail.load_setup( ".rubu.yml" ) State.load # Apply options from Como. if spec[ :como ] como = spec[ :como ] if Opt[ como ].given Opt[ como ].value.each do |conf| name, value = conf.split( '=' ) value = case value when 'true'; true when 'false'; false else value end Var[ name.to_sym ] = value end end end end |
Instance Method Details
- (Object) pick(trail)
Take trail into use.
747 748 749 |
# File 'lib/rubu.rb', line 747 def pick( trail ) Trail[ trail ].use end |
- (Object) run
Default run style for Trail.
753 754 755 |
# File 'lib/rubu.rb', line 753 def run serial_run end |