Parent

Namespace

Class/Module Index [+]

Quicksearch

Rex::Parser::Ini::UnitTest::Klass

This class parses the contents of an INI file.

Attributes

path[R]

Public Class Methods

from_file(path) click to toggle source

Creates a new class instance and reads in the contents of the supplied file path.

# File lib/rex/parser/ini.rb, line 21
def self.from_file(path)
        ini = Ini.new(path)
        ini.from_file
        return ini
end
from_s(str) click to toggle source

Creates a new class instance from the supplied string.

# File lib/rex/parser/ini.rb, line 30
def self.from_s(str)
        ini = Ini.new
        ini.from_s(str)
        return ini
end
new(path = nil) click to toggle source

Initializes an ini instance and tries to read in the groups from the file if it exists.

# File lib/rex/parser/ini.rb, line 40
def initialize(path = nil)
        self.path = path

        # Try to synchronize ourself with the file if we
        # have one
        begin
                self.from_file if (self.path)
        rescue
        end
end

Public Instance Methods

add_group(name = 'global', reset = true) click to toggle source

Adds a group of the supplied name if it doesn't already exist.

# File lib/rex/parser/ini.rb, line 63
def add_group(name = 'global', reset = true)
        self[name] = {} if (reset == true)
        self[name] = {} if (!self[name])

        return self[name]
end
each_group(&block) click to toggle source

Enumerates the groups hash keys.

# File lib/rex/parser/ini.rb, line 54
def each_group(&block) 
        self.keys.each { |k|
                yield
        }
end
from_file(fpath = nil) click to toggle source

Reads in the groups from the supplied file path or the instance's file path.

# File lib/rex/parser/ini.rb, line 87
def from_file(fpath = nil)
        fpath = path if (!fpath)

        read_groups(fpath)
end
from_s(str) click to toggle source

Reads in the groups from the supplied string.

# File lib/rex/parser/ini.rb, line 96
def from_s(str)
        read_groups_string(str.split("\n"))
end
group?(name) click to toggle source

Checks to see if name is a valid group.

# File lib/rex/parser/ini.rb, line 73
def group?(name)
        return (self[name] != nil)
end
to_file(tpath = nil) click to toggle source

Writes the group settings to a file.

# File lib/rex/parser/ini.rb, line 103
def to_file(tpath = nil)
        tpath = path if (!tpath)

        f = File.new(tpath, "w")
        f.write(to_s)
        f.close
end
to_s() click to toggle source

Converts the groups to a string.

# File lib/rex/parser/ini.rb, line 114
def to_s
        str = ''
        keys.sort.each { |k|
                str << "[#{k}]\n"

                self[k].each_pair { |var, val|
                        str << "#{var}=#{val}\n"
                }

                str << "\n";
        }

        return str
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.