Class: LSync::Action
- Inherits:
-
Object
- Object
- LSync::Action
- Defined in:
- lib/lsync/action.rb
Overview
A runnable action, such as a shell command or action script.
If the first argument is a symbol, then this will map to one of the standard actions in the ‘lsync/actions` subdirectory. These actions are sometimes implemented on a per-platform basis.
Instance Method Summary collapse
-
#initialize(function) ⇒ Action
constructor
A new instance of Action.
-
#run_on_server(server, logger) ⇒ Object
Run the action on the given server, typically in the root directory specified.
-
#to_s ⇒ Object
Return a string representation of the action for logging.
Constructor Details
#initialize(function) ⇒ Action
Returns a new instance of Action.
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/lsync/action.rb', line 17 def initialize(function) @function = function case @function[0] when Symbol @script_name = @function[0].to_s @arguments = @function[1,@function.size] else @script_name = nil end end |
Instance Method Details
#run_on_server(server, logger) ⇒ Object
Run the action on the given server, typically in the root directory specified.
35 36 37 38 39 40 41 42 43 |
# File 'lib/lsync/action.rb', line 35 def run_on_server(server, logger) # logger.info "Running #{@function.to_cmd} on #{server}" if server.is_local? run_locally(server, logger) else run_remotely(server, logger) end end |
#to_s ⇒ Object
Return a string representation of the action for logging.
30 31 32 |
# File 'lib/lsync/action.rb', line 30 def to_s @function.to_cmd end |