module FakeFS::Globber

def expand(pattern)

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