Class: Naginata::Command::ExternalCommand
- Inherits:
-
Object
- Object
- Naginata::Command::ExternalCommand
- Defined in:
- lib/naginata/command/external_command.rb
Defined Under Namespace
Classes: List
Class Method Summary collapse
Class Method Details
.dispatch(action, options = {}) ⇒ Object
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/naginata/command/external_command.rb', line 11 def self.dispatch(action, = {}) action = action.to_s.upcase.to_sym raise ArgumentError, "action name #{action} is not implemented" unless List.include? action raise ArgumentError, ":path option is required" if [:path].nil? ts = [:ts] || Time.now.to_i format = 'echo "[%d] %s" > %s' str = [action.to_s, List.keys_for(action).map{|k| [k.to_sym]}].flatten.join(';') format % [ts, str, [:path]] end |
.method_missing(name, *args, &block) ⇒ Object
5 6 7 8 9 |
# File 'lib/naginata/command/external_command.rb', line 5 def self.method_missing(name, *args, &block) raise ArgumentError, "only one argment allowed" if args.size > 1 = args.first || {} dispatch(name, ) end |