module R509::IOHelpers
helper methods for I/O @private
Public Class Methods
read_data(filename_or_io)
click to toggle source
Reads data from an IO or file @param [String, read] filename_or_io Either a string of the path for
the file that you'd like to read, or an IO-like object.
# File lib/r509/io_helpers.rb, line 29 def self.read_data(filename_or_io) if filename_or_io.respond_to?(:read) if filename_or_io.is_a?(StringIO) filename_or_io.rewind end filename_or_io.read else return File.open(filename_or_io, 'rb:ascii-8bit') do |f| f.read end end end
write_data(filename_or_io, data, mode = 'wb:ascii-8bit')
click to toggle source
Writes data into an IO or file @param [String, write] filename_or_io Either a string of the path for
the file that you'd like to write, or an IO-like object.
@param [String] data The data that we want to write @param [String] mode The write mode
# File lib/r509/io_helpers.rb, line 10 def self.write_data(filename_or_io, data, mode = 'wb:ascii-8bit') if filename_or_io.respond_to?(:write) if filename_or_io.is_a?(StringIO) && mode != "a:ascii-8bit" # Writing to a StringIO in a non-append mode. This requires # us to rewind and truncate it first. filename_or_io.rewind filename_or_io.truncate(0) end filename_or_io.write(data) else return File.open(filename_or_io, mode) do |f| f.write(data) end end end
Public Instance Methods
read_data(filename_or_io)
click to toggle source
Reads data from an IO or file @param [String, read] filename_or_io Either a string of the path for
the file that you'd like to read, or an IO-like object.
# File lib/r509/io_helpers.rb, line 53 def read_data(filename_or_io) IOHelpers.read_data(filename_or_io) end
write_data(filename_or_io, data, mode = 'wb:ascii-8bit')
click to toggle source
Writes data into an IO or file @param [String, write] filename_or_io Either a string of the path for
the file that you'd like to write, or an IO-like object.
@param [String] data The data that we want to write
# File lib/r509/io_helpers.rb, line 46 def write_data(filename_or_io, data, mode = 'wb:ascii-8bit') IOHelpers.write_data(filename_or_io, data, mode) end