- Inheritance
- < Object
- Included Modules
- Enumerable
Property stream format:
line separator is \r?\n. 1 line per a property. line which begins with '#' is a comment line. empty line is ignored, too. key/value separator is ':' or '='. '\' as escape character. but line separator cannot be escaped. \s at the head/tail of key/value are trimmed. '[' + key + ']' indicates property section. for example, [aaa.bbb] ccc = ddd eee.fff = ggg [] aaa.hhh = iii is the same as; aaa.bbb.ccc = ddd aaa.bbb.eee.fff = ggg aaa.hhh = iii
Classes & Modules
Constants
Name | Description | |
---|---|---|
CATDEF_REGEXP | = Regexp.new("^\\[\\s*#{KEY_REGSRC}\\s*\\]$") | |
COMMENT_REGEXP | = Regexp.new('^(?:#.*|)$') | |
DEF_REGSRC | = '\\s*' + KEY_REGSRC + '\\s*[=:]\\s*(.*)' | |
FrozenError | = (RUBY_VERSION >= "1.9.0") ? RuntimeError : TypeError | |
KEY_REGSRC | = '([^=:\\\\]*(?:\\\\.[^=:\\\\]*)*)' | |
LINE_REGEXP | = Regexp.new("^#{DEF_REGSRC}$") | |
NO_HOOK | = [].freeze |
Methods
Class
Visibility | Signature |
---|---|
public | load (stream) |
public | loadproperty (propname) |
public | new () |
Instance
Visibility | Signature |
---|---|
public | << (value) |
public | [] (name) |
public | []= (name, value) |
public | add_hook (name = nil, cascade = false, &hook) |
public | each () {|key, value| ...} |
public | empty? () |
public | keys () |
public | load (stream) |
public | loadproperty (propname) |
public | lock (cascade = false) |
public | locked? () |
public | unlock (cascade = false) |
public | values () |
protected | deref_key (key) |
protected | local_assign (key, value) |
protected | local_assign_hook (key, cascade, &hook) |
protected | local_hook (key, direct) |
protected | local_referent (key) |
Class Method Detail
load(stream)
loadproperty(propname)
new()
Instance Method Detail
<<(value)
value: an Object key is generated by property
[](name)
[]=(name, value)
add_hook(name = nil, cascade = false, &hook)
name: a Symbol, String or an Array; nil means hook to the root cascade: true/false; for cascading hook of sub key hook: block which will be called with 2 args, name and value
each() {|key, value| ...}
empty?()
keys()
load(stream)
loadproperty(propname)
find property from $:.