module Tokenizer
Public Class Methods
new()
click to toggle source
# File lib/tokenizer/tokenizer.rb, line 2 def initialize @regex_or = '|' @standard_delimiter = /,|\n/ @has_single_delimiter = /\/\/(.)\n(.*)/ @has_multi_delimiter = /\/\/(\[.+\])+\n.*/ @multi_delimiter = /\[|\]/ @multi_delimiter_replace = /\/\/(\[.+\])+\n/ end
Public Instance Methods
ints(string = '')
click to toggle source
# File lib/tokenizer/tokenizer.rb, line 29 def ints(string = '') tokens(string).select { |s| is_i?(s) }.map { |s| s.to_i } end
is_i?(string)
click to toggle source
# File lib/tokenizer/tokenizer.rb, line 33 def is_i?(string) string.to_i.to_s == string end
tokens(string)
click to toggle source
# File lib/tokenizer/tokenizer.rb, line 14 def tokens(string) case string when @has_single_delimiter delims = $1 string = $2 when @has_multi_delimiter delims = Regexp.new($1.split(@multi_delimiter).reject(&:empty?).join(@regex_or)) string = string.sub(@multi_delimiter_replace, '') else delims = @standard_delimiter string = string end string.split(delims) end