Class: PrepKit::Task
- Inherits:
-
Object
- Object
- PrepKit::Task
- Defined in:
- lib/prep_kit/task.rb
Instance Method Summary collapse
- #action(&block) ⇒ Object
- #current_directory(directory = nil) ⇒ Object
- #download(src, dst) ⇒ Object
-
#initialize(parent, directory = nil) ⇒ Task
constructor
A new instance of Task.
- #sh(command) ⇒ Object
- #test?(path, option) ⇒ Boolean
- #upload(src, dst) ⇒ Object
- #within(directory, &block) ⇒ Object
Constructor Details
#initialize(parent, directory = nil) ⇒ Task
Returns a new instance of Task.
3 4 5 6 |
# File 'lib/prep_kit/task.rb', line 3 def initialize(parent, directory = nil) @parent = parent @directory = directory end |
Instance Method Details
#action(&block) ⇒ Object
34 35 36 |
# File 'lib/prep_kit/task.rb', line 34 def action(&block) instance_eval &block end |
#current_directory(directory = nil) ⇒ Object
38 39 40 |
# File 'lib/prep_kit/task.rb', line 38 def current_directory(directory = nil) File.join(*([@parent&.current_directory, @directory, directory].compact)) end |
#download(src, dst) ⇒ Object
22 23 24 |
# File 'lib/prep_kit/task.rb', line 22 def download(src, dst) @parent.download(current_directory(src), dst) end |
#sh(command) ⇒ Object
8 9 10 11 12 |
# File 'lib/prep_kit/task.rb', line 8 def sh(command) chdir = @directory ? "cd #{@directory};" : nil @parent.sh([chdir, command].compact.join(' ')) end |
#test?(path, option) ⇒ Boolean
14 15 16 |
# File 'lib/prep_kit/task.rb', line 14 def test?(path, option) @parent.test?(path, option) end |
#upload(src, dst) ⇒ Object
18 19 20 |
# File 'lib/prep_kit/task.rb', line 18 def upload(src, dst) @parent.upload(src, current_directory(dst)) end |