+ self.status = "closed"
+ self.closed_at = Time.now.getutc
+
+ self.save
+ end
+
+ def flatten_comment(separator_char, upto_timestamp = :nil)
+ resp = ""
+ comment_no = 1
+ self.comments.each do |comment|
+ next if upto_timestamp != :nil and comment.created_at > upto_timestamp
+ resp += (comment_no == 1 ? "" : separator_char)
+ resp += comment.body if comment.body
+ resp += " [ "
+ resp += comment.author_name if comment.author_name
+ resp += " " + comment.created_at.to_s + " ]"
+ comment_no += 1
+ end
+
+ return resp
+ end
+
+ def visible
+ return status != "hidden"
+ end
+
+ def author
+ self.comments.first.author
+ end
+
+ def author_ip
+ self.comments.first.author_ip
+ end
+
+ def author_id
+ self.comments.first.author_id