GeoRSS aggregator and Layar augmented reality server
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

posts_helper.rb 991 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. module PostsHelper
  2. def post_to_poi(post)
  3. # http://layar.com/documentation/browser/api/getpois-response/
  4. {
  5. :id => post._id,
  6. :imageURL => "%s%s/assets/layar-icons/tal-logo-100.png" % [ request.protocol, request.env['HTTP_HOST'] ],
  7. :anchor => {
  8. :geolocation => {
  9. :lat => post.loc['lat'],
  10. :lon => post.loc['lng'],
  11. :alt => 0
  12. }
  13. },
  14. :text => {
  15. :title => post.title,
  16. :description => clean_description(post.summary),
  17. :footnote => "From #{post.feed.title}"
  18. },
  19. :actions => [
  20. {
  21. :label => "Read more...",
  22. :uri => post.url,
  23. :contentType => "text/html",
  24. :method => "GET",
  25. :activityType => 1
  26. }
  27. ]
  28. }
  29. end
  30. def clean_description(s)
  31. if s.size > 137
  32. s = s[0..136] + '...'
  33. end
  34. coder = HTMLEntities.new
  35. coder.decode(s.gsub(/<.+?>/, ''))
  36. end
  37. end