module RSpec::Matchers::EnglishPhrasing

def self.list(obj)

Other tags:
    Note: - The returned string has a leading space except
def self.list(obj)
  return " #{RSpec::Support::ObjectFormatter.format(obj)}" if !obj || Struct === obj || Hash === obj
  items = Array(obj).map { |w| RSpec::Support::ObjectFormatter.format(w) }
  case items.length
  when 0
    ""
  when 1
    " #{items[0]}"
  when 2
    " #{items[0]} and #{items[1]}"
  else
    " #{items[0...-1].join(', ')}, and #{items[-1]}"
  end
end