class String
    PUNCTUATION_MARKS = [".", "!", "?"]
  def titleize
    gsub(/\w+/i) do |match|
      ret = match.downcase
      ret[0] = ret[0].upcase
      ret
    end
  end

  def titleize!
    replace titleize
  end

    def punctuated?
        PUNCTUATION_MARKS.include?(self[-1])
    end

    def unpunctuated?
        !punctuated?
    end
end

class Integer
  def to_dots
    "•" * self
  end
end

class Object
  def arrayify
    [self]
  end
end

class Array
  def arrayify
    self
  end

  def to_list(separator: nil)
    separator = "and" if separator.nil?
    if self.length == 0
      nil
    elsif self.length == 1
      self.first
    elsif self.length == 2
      "#{self.first} #{separator} #{self.last}"
    else
      ret = clone
      ret[ret.length - 1] = "#{separator} #{ret[ret.length - 1]}"
      ret.join(", ")
    end
  end

    def to_arcanum_with_dots
        "#{self[0].to_s.titleize} #{self[1].to_dots}"
    end
end