Method: Rake::DSL#set_command_options

Defined in:
lib/rake/config.rb

#set_command_options(commandSymbols, options = {}, &asyncTriggersBlock) ⇒ Object



748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
# File 'lib/rake/config.rb', line 748

def set_command_options(commandSymbols, options = {}, &asyncTriggersBlock)
  commandSymbols = [ :local, :remote ] if commandSymbols == :all;
  commandSymbols = [ :local, :remote ] if commandSymbols.kind_of? Array and commandSymbols.include? :all;
  commandSymbols = [ commandSymbols ] unless commandSymbols.kind_of? Array;
  commandSymbols.push(:sh).flatten! if commandSymbols.include?(:local);
  commandSymbols.push([:scp, :ssh, :rsync]).flatten! if commandSymbols.include?(:remote);
  commandSymbols.each do | aCommandSymbol |
    aCommandSymbol = aCommandSymbol.to_sym;
    next if aCommandSymbol == :all;
    next if aCommandSymbol == :local;
    next if aCommandSymbol == :remote;
    if !Conf.data.has_key?(aCommandSymbol) then
      Conf.data[aCommandSymbol] = Hash.new;
      Conf.data[aCommandSymbol].command = aCommandSymbol.to_s;
      Conf.data[aCommandSymbol].cmdOptions = Array.new;
      Conf.data[aCommandSymbol].commandPromptRegExp = '.';
      Conf.data[aCommandSymbol].asyncTriggersBlocks = Array.new;
    end
    Conf.data[aCommandSymbol].merge(options);
    Conf.data[aCommandSymbol].asyncTriggersBlocks.push(asyncTriggersBlock);
  end
end