From 50c021368dd8c5cd6a0b24748c61c9d9e787d053 Mon Sep 17 00:00:00 2001
From: echarp <emmanuel.charpentier@free.fr>
Date: Sat, 4 Oct 2014 19:13:19 +0200
Subject: [PATCH] =?UTF-8?q?Meilleure=20gestion=20de=20la=20limite=20des=20?=
 =?UTF-8?q?140=20caract=C3=A8res=20dans=20twitter?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/controllers/moderations_controller.rb | 2 +-
 app/models/event.rb                       | 8 ++++++++
 app/views/moderations/validate.html.haml  | 3 +--
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/app/controllers/moderations_controller.rb b/app/controllers/moderations_controller.rb
index 48158c312..724e436c2 100644
--- a/app/controllers/moderations_controller.rb
+++ b/app/controllers/moderations_controller.rb
@@ -101,7 +101,7 @@ class ModerationsController < ApplicationController
       config.access_token        = ENV['TWITTER_ACCESS_TOKEN']
       config.access_token_secret = ENV['TWITTER_ACCESS_SECRET']
     end
-    client.update "#{@event} #{events_url @event}" if client.consumer_key
+    client.update "#{@event.to_tweet url}" if client.consumer_key
   end
 
   def send_destroy_mails
diff --git a/app/models/event.rb b/app/models/event.rb
index c5d6bcea4..dabe220f7 100644
--- a/app/models/event.rb
+++ b/app/models/event.rb
@@ -99,6 +99,14 @@ class Event < ActiveRecord::Base
     "#{start_time.to_date} #{city}: #{title} #{hashtags.join(' ')}"
   end
 
+  def to_tweet(url)
+    tweet = to_s
+    if (tweet.size + url.size >= 140)
+      tweet = tweet[0, tweet[0, 140 - url.size].rindex(/\s/)]
+    end
+    "#{tweet} #{url}"
+  end
+
   private
 
   def end_after_start
diff --git a/app/views/moderations/validate.html.haml b/app/views/moderations/validate.html.haml
index dc2d26eeb..ca82c8792 100644
--- a/app/views/moderations/validate.html.haml
+++ b/app/views/moderations/validate.html.haml
@@ -22,8 +22,7 @@
 
     %h3=t '.tweet_helper'
 
-    = @event
-    = events_url @event
+    = @event.to_tweet events_url @event
 
 %fieldset
   %legend
-- 
GitLab