Class: DwcAgent::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/dwc_agent/parser.rb

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Parser

Returns a new instance of Parser.



28
29
30
31
# File 'lib/dwc_agent/parser.rb', line 28

def initialize(options = {})
  @options = self.class.defaults.merge(options)
  @namae = Namae::Parser.new(@options)
end

Class Attribute Details

.defaultsObject (readonly)

Returns the value of attribute defaults.



19
20
21
# File 'lib/dwc_agent/parser.rb', line 19

def defaults
  @defaults
end

Instance Attribute Details

#namaeObject (readonly)

Returns the value of attribute namae.



26
27
28
# File 'lib/dwc_agent/parser.rb', line 26

def namae
  @namae
end

#optionsObject (readonly)

Returns the value of attribute options.



26
27
28
# File 'lib/dwc_agent/parser.rb', line 26

def options
  @options
end

Class Method Details

.instanceObject



21
22
23
# File 'lib/dwc_agent/parser.rb', line 21

def instance
  Thread.current[:dwc_agent_parser] ||= new
end

Instance Method Details

#parse(name) ⇒ Array

Parses the passed-in string and returns a list of names.

Parameters:

  • names (String)

    the name or names to be parsed

Returns:

  • (Array)

    the list of parsed names



37
38
39
40
41
42
43
44
45
46
47
# File 'lib/dwc_agent/parser.rb', line 37

def parse(name)
  return [] if name.nil? || name == ""
  name.gsub!(options[:strip_out_regex], ' ')
  name.gsub!(options[:tidy_remains_regex], '')
  name.gsub!(options[:subs_regex], CHAR_SUBS)
  options[:complex_separators_regex].each{|k| name.gsub!(k[0], k[1])}
  name.gsub!(options[:residual_terminators_regex], '')
  name.squeeze!(' ')
  name.strip!
  namae.parse(name)
end