Class: SimpleConfig
- Inherits:
-
Object
- Object
- SimpleConfig
- Includes:
- CommentParser
- Defined in:
- lib/utils/simpleconfig.rb
Instance Attribute Summary collapse
-
#groups ⇒ Object
readonly
Returns the value of attribute groups.
-
#params ⇒ Object
readonly
Returns the value of attribute params.
Instance Method Summary collapse
-
#initialize(raw_data, opts = {}) ⇒ SimpleConfig
constructor
A new instance of SimpleConfig.
-
#parse(raw_data, opts = nil) ⇒ Object
Parse some data quotes: quoting characters, which are parsed, so everything inside it will be part of a string multiline: allow quoted text to span multiple lines comment_char: char which identifies comments standalone_comments: comments must appear alone in a line; if set to true, no comments can be added to the end of an assignment/statement line.
Methods included from CommentParser
Constructor Details
#initialize(raw_data, opts = {}) ⇒ SimpleConfig
Returns a new instance of SimpleConfig.
12 13 14 |
# File 'lib/utils/simpleconfig.rb', line 12 def initialize(raw_data, opts = {}) parse(raw_data, opts) end |
Instance Attribute Details
#groups ⇒ Object (readonly)
Returns the value of attribute groups.
11 12 13 |
# File 'lib/utils/simpleconfig.rb', line 11 def groups @groups end |
#params ⇒ Object (readonly)
Returns the value of attribute params.
11 12 13 |
# File 'lib/utils/simpleconfig.rb', line 11 def params @params end |
Instance Method Details
#parse(raw_data, opts = nil) ⇒ Object
Parse some data quotes: quoting characters, which are parsed, so everything inside it will be part of a string multiline: allow quoted text to span multiple lines comment_char: char which identifies comments standalone_comments: comments must appear alone in a line; if set to true, no comments can be added to the end of an assignment/statement line
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/utils/simpleconfig.rb', line 23 def parse(raw_data, opts = nil) @params = {} @groups = [] @vals = @params = .merge(opts || {}) return if raw_data.nil? # prepare raw data if required if ![:line_separator].nil? raw_data = raw_data.tr([:line_separator], "\n") end rest = raw_data rest = parse_rest(rest, ) until rest.empty? end |