class EacRubyUtils::RegexpParser
Attributes
builder_proc[R]
pattern[R]
Public Class Methods
new(pattern, &builder_proc)
click to toggle source
# File lib/eac_ruby_utils/regexp_parser.rb, line 7 def initialize(pattern, &builder_proc) @pattern = pattern @builder_proc = builder_proc end
Public Instance Methods
parse(string)
click to toggle source
# File lib/eac_ruby_utils/regexp_parser.rb, line 12 def parse(string) internal_parse(string)[1] end
parse!(string)
click to toggle source
# File lib/eac_ruby_utils/regexp_parser.rb, line 16 def parse!(string) match, result = internal_parse(string) return result if match raise ::ArgumentError, "String \"#{string}\" does not match pattern \"#{pattern}\"" end
Private Instance Methods
internal_parse(string)
click to toggle source
# File lib/eac_ruby_utils/regexp_parser.rb, line 25 def internal_parse(string) m = pattern.match(string) if m [true, builder_proc ? builder_proc.call(m) : m] else [false, nil] end end