Skip to content

Instantly share code, notes, and snippets.

@guilhermeteodoro
Created April 16, 2018 17:20
Show Gist options
  • Save guilhermeteodoro/1222c094bbdd3efbdb959e530c5487f4 to your computer and use it in GitHub Desktop.
Save guilhermeteodoro/1222c094bbdd3efbdb959e530c5487f4 to your computer and use it in GitHub Desktop.
Test for loggi
text = <<-EOS
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Maecenas et tellus sed massa blandit dictum. Pellentesque at nisi neque.
Suspendisse sed purus vitae est molestie sollicitudin eget nec quam.
Quisque sollicitudin pharetra justo quis elementum. Vivamus pretium dictum sapien ut ultrices. Donec elementum neque sed molestie ullamcorper. Fusce sodales sapien vel egestas posuere.
EOS
cleaned_text =
text
.strip
.gsub(/( )+/, ' ')
.gsub(/\t/, '')
.gsub(/\n+|\f/, "\n")
words = cleaned_text.split(/\s/)
tweets = ['']
tweet_number = 0
limit = 140
words.each do |word|
initial_word = tweets[tweet_number].size == 0
tweet_size = tweets[tweet_number].size + word.size
tweet_size += 1 unless initial_word
if tweet_size > 140
tweet_number += 1
tweets[tweet_number] = ''
end
if initial_word
tweets[tweet_number] = word
else
tweets[tweet_number] << " #{word}"
end
end
tweets.each.with_index do |tweet, index|
print [index, tweet, tweet.size, "\n"].join(' ')
end
@guilhermeteodoro
Copy link
Author

output:

~ ruby loggi.rb
0 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas et tellus sed massa blandit dictum. Pellentesque at nisi neque. 129
1  Suspendisse sed purus vitae est molestie sollicitudin eget nec quam. Quisque sollicitudin pharetra justo quis elementum. Vivamus pretium 137
2  dictum sapien ut ultrices. Donec elementum neque sed molestie ullamcorper. Fusce sodales sapien vel egestas posuere. 117

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment