Class: ProcessExecuter::Destinations::FilePathModePerms Private
- Inherits:
-
DestinationBase
- Object
- DestinationBase
- ProcessExecuter::Destinations::FilePathModePerms
- Defined in:
- lib/process_executer/destinations/file_path_mode_perms.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Handles file paths with specific open modes and permissions
Instance Attribute Summary collapse
-
#file ⇒ File
readonly
private
The opened file object.
Attributes inherited from DestinationBase
Class Method Summary collapse
-
.handles?(destination) ⇒ Boolean
private
Determines if this class can handle the given destination.
Instance Method Summary collapse
-
#close
private
Closes the file if it's open.
-
#initialize(destination) ⇒ FilePathModePerms
constructor
private
Initializes a new file path with mode and permissions destination handler.
-
#write(data) ⇒ Integer
private
Writes data to the file.
Methods inherited from DestinationBase
compatible_with_monitored_pipe?, #compatible_with_monitored_pipe?
Constructor Details
#initialize(destination) ⇒ FilePathModePerms
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Initializes a new file path with mode and permissions destination handler
Opens the file at the given path with the specified mode and permissions.
21 22 23 24 |
# File 'lib/process_executer/destinations/file_path_mode_perms.rb', line 21 def initialize(destination) super @file = File.open(destination[0], destination[1], destination[2]) end |
Instance Attribute Details
#file ⇒ File (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
The opened file object
29 30 31 |
# File 'lib/process_executer/destinations/file_path_mode_perms.rb', line 29 def file @file end |
Class Method Details
.handles?(destination) ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Determines if this class can handle the given destination
59 60 61 62 63 64 65 |
# File 'lib/process_executer/destinations/file_path_mode_perms.rb', line 59 def self.handles?(destination) destination.is_a?(Array) && destination.size == 3 && destination[0].is_a?(String) && destination[1].is_a?(String) && destination[2].is_a?(Integer) end |
Instance Method Details
#close
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This method returns an undefined value.
Closes the file if it's open
51 52 53 |
# File 'lib/process_executer/destinations/file_path_mode_perms.rb', line 51 def close file.close unless file.closed? end |
#write(data) ⇒ Integer
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Writes data to the file
43 44 45 46 |
# File 'lib/process_executer/destinations/file_path_mode_perms.rb', line 43 def write(data) super file.write data end |