Sha256: d4537ffa0a7d694af2d82337f5495f5d3c3d0e72a4a75ee70598db97c863dda3
Contents?: true
Size: 948 Bytes
Versions: 4
Compression:
Stored size: 948 Bytes
Contents
class Usher class Splitter def self.new(delimiters_array) delimiters = Delimiters.new(delimiters_array) delimiters.any?{|d| d.size > 1} ? MultiCharacterSplitterInstance.new(delimiters) : SingleCharacterSplitterInstance.new(delimiters) end class SingleCharacterSplitterInstance def initialize(delimiters) @url_split_regex = Regexp.new("[^#{delimiters.regexp_char_class}]+|[#{delimiters.regexp_char_class}]") end def split(path) path.scan(@url_split_regex) end end class MultiCharacterSplitterInstance def initialize(delimiters) @delimiters = delimiters end def split(path) split_path = path.split(delimiters_regexp) split_path.reject!{|s| s.empty? } split_path end protected def delimiters_regexp @delimiters.regexp end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
usher-0.8.3 | lib/usher/splitter.rb |
usher-0.8.2 | lib/usher/splitter.rb |
usher-0.8.1 | lib/usher/splitter.rb |
usher-0.8.0 | lib/usher/splitter.rb |