class TwitterCldr::Resources::RegexpAstGenerator
Public Class Methods
generate(regexp_str)
click to toggle source
# File lib/twitter_cldr/resources/regexp_ast_generator.rb, line 14 def generate(regexp_str) tree = Regexp::Parser.parse(regexp_str) walk(tree) end
Private Class Methods
class_for(klass)
click to toggle source
# File lib/twitter_cldr/resources/regexp_ast_generator.rb, line 31 def class_for(klass) TwitterCldr::Utils::RegexpAst.const_get( klass.class.to_s.split("::").last.to_sym ) end
walk(node)
click to toggle source
# File lib/twitter_cldr/resources/regexp_ast_generator.rb, line 21 def walk(node) expressions = if node.respond_to?(:expressions) node.expressions.map { |expr| walk(expr) } else [] end class_for(node).from_parser_node(node, expressions) end