# File lib/fakefs/globber.rb, line 6 def expand(pattern) pattern = pattern.to_s return [pattern] if pattern[0] != '{' || pattern[-1] != '}' part = '' result = [] each_char_with_levels pattern, '{', '}' do |chr, level| case level when 0 case chr when '{' # noop else part << chr end when 1 case chr when ',' result << part part = '' when '}' # noop else part << chr end else part << chr end end result << part result end