Sha256: 876b128409da724499d96420b2ffdd45bf357f0c535b245ddd33468c77b05054

Contents?: true

Size: 1.91 KB

Versions: 2

Compression:

Stored size: 1.91 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

2 entries across 2 versions & 1 rubygems

Version Path
r509-0.8.1 lib/r509/io_helpers.rb
r509-0.8 lib/r509/io_helpers.rb