def publish!
      current_time = Time.current
      update_columns(
        published_at: current_time,
        public_on: already_public_for?(current_time) ? public_on : current_time,
        public_until: still_public_for?(current_time) ? public_until : nil
      )
    end
def publish!
      current_time = Time.current
      update_columns(
        published_at: current_time,
        public_on: already_public_for?(current_time) ? public_on : current_time,
        public_until: still_public_for?(current_time) ? public_until : nil
      )
    end
Publishes the page.

 Sets +public_on+ and the +published_at+ value to current time
 and resets +public_until+ to nil

 The +published_at+ attribute is used as +cache_key+.