Module: ProperProperties::Parsing::Parser

Defined in:
lib/proper_properties/parsing/parser.rb

Overview

This module allows parsing of a properties file content string into a ProperProperties::Properties object

Examples:

Parser.parse("item=something \u05d4") => {:item => "something ה"}

Constant Summary collapse

KEY_VALUE_MARKER =

Symbol which separates key from value after normalization

Returns:

  • (String)
'='
KEY_ESCAPE =

Symbol which escapes a KEY_VALUE_MARKER in the key name

Returns:

  • (String)
'\\'
KEY_ONLY_MARKER =

Marker for a line which only consists of an key w/o value

Returns:

  • (Regexp)
/^(\S+)$/

Class Method Summary collapse

Class Method Details

.parse(text) ⇒ Properties

Parses a string into a ProperProperties::Properties object

Parameters:

  • text (String)

Returns:



27
28
29
30
31
32
33
34
35
# File 'lib/proper_properties/parsing/parser.rb', line 27

def self.parse(text)
  properties = Properties.new
  Normalizer.normalize!(text)
  text.each_line do |line|
    key, value = extract_key_and_value(line.chomp)
    append_to_properties(properties, key, value)
  end
  properties
end