X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=lib%2Ferd_handler%2Flabel.rb;h=cdeacb177eb24c56c7004995e4ab1130303e903d;hb=df86d6dec3f5944842cf8e5cdcaa909bfc7e0406;hp=ad816182ff4be9c58f62ff53819c26579862cfab;hpb=042a27abb3ac3bf9faf36406204fe1d1901123d3;p=erd-marker.git diff --git a/lib/erd_handler/label.rb b/lib/erd_handler/label.rb index ad81618..cdeacb1 100644 --- a/lib/erd_handler/label.rb +++ b/lib/erd_handler/label.rb @@ -12,12 +12,17 @@ class Label regexp = opts split_camel_case = true else - regexp = opts[:regexp] || /[ _,.-]+/ + regexp = opts[:regexp] || /[\t\n _,.-]+/ if opts.has_key? :camel_case split_camel_case = opts[:camel_case] else split_camel_case = true end + if opts.has_key? :numbers + split_numbers = opts[:numbers] + else + split_numbers = true + end end @processed = @processed.map do |segment| segment.split(regexp) @@ -25,7 +30,13 @@ class Label if split_camel_case @processed = @processed.map do |segment| - segment.split(/(?=[A-Z])/) + segment.split(/(?<=[a-z])(?=[A-Z])/) + end.flatten + end + + if split_numbers + @processed = @processed.map do |segment| + segment.split(/(?:(?