Sha256: 92535f1c918350a8974150dcd2ecb1df6b9e9b5a61b19f02c79dd2295722af46

Contents?: true

Size: 1.66 KB

Versions: 3

Compression:

Stored size: 1.66 KB

Contents

module R509
  # helper methods for I/O
  module IOHelpers
    # 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
    def self.write_data(filename_or_io, data)
      if filename_or_io.respond_to?(:write)
        filename_or_io.write(data)
      else
        begin
          file = File.open(filename_or_io, 'wb:ascii-8bit')
          return file.write(data)
        ensure
          file.close()
        end
      end
    end

    # 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.
    def self.read_data(filename_or_io)
      if filename_or_io.respond_to?(:read)
        filename_or_io.read()
      else
        begin
          file = File.open(filename_or_io, 'rb:ascii-8bit')
          return file.read()
        ensure
          file.close() unless file.nil?
        end
      end
    end

    # 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
    def write_data(filename_or_io, data)
      IOHelpers.write_data(filename_or_io, data)
    end

    # 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.
    def read_data(filename_or_io)
      IOHelpers.read_data(filename_or_io)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
r509-0.9.2 lib/r509/io_helpers.rb
r509-0.9.1 lib/r509/io_helpers.rb
r509-0.9 lib/r509/io_helpers.rb