WriteFileActionBlueprint

InfoGenerateCreated ByPackages

The code defines a Ruby module named `Sublayer::Actions` which contains a class `WriteFileAction` that inherits from a `Base` class. The purpose of `WriteFileAction` is to handle writing contents to a specified file. The class has an initializer method that accepts two parameters: `file_contents` (the content that will be written to the file) and `file_path` (the location of the file in the filesystem). The class also contains a `call` method that performs the actual writing of the content to the file in binary mode (`'wb'`). This ensures that the content is written exactly as specified, including any binary data. The `call` method opens the file at the given path and writes the specified content to it.

module Sublayer
  module Actions
    class WriteFileAction < Base
      # Initializes the action with the contents to write and the target file path
      # @param [String] file_contents the contents to write to the file
      # @param [String] file_path the file path where contents will be written
      def initialize(file_contents:, file_path:)
        @file_contents = file_contents
        @file_path = file_path
      end

      # Writes the contents to the file in binary mode
      # @return [void]
      def call
        File.open(@file_path, 'wb') do |file|
          file.write(@file_contents)
        end
      end
    end
  end
end