Module: PDK::Util::Filesystem

Included in:
AnswerFile, Generate::Module, Module::Metadata, VendoredFile
Defined in:
lib/pdk/util/filesystem.rb

Class Method Summary collapse

Class Method Details

.write_file(path, content) ⇒ Object

Raises:

  • (ArgumentError)


4
5
6
7
8
9
10
11
12
13
14
# File 'lib/pdk/util/filesystem.rb', line 4

def write_file(path, content)
  raise ArgumentError unless path.is_a?(String) || path.respond_to?(:to_path)

  # Harmonize newlines across platforms.
  content = content.encode(universal_newline: true)

  # Make sure all written files have a trailing newline.
  content += "\n" unless content[-1] == "\n"

  File.open(path, 'wb') { |f| f.write(content) }
end