text_marquee/app/controllers/text_marquees_controller.rb

27 lines
808 B
Ruby

class TextMarqueesController < ApplicationController
def widget
subpart = OrbitHelper.get_current_widget
marquee = Marquee.find(OrbitHelper.widget_custom_value)
texts = marquee.marquee_texts.collect do |mqt|
doc = Nokogiri::HTML(mqt.title)
if mqt.title.to_s.empty?
title = 'no content'
else
title = doc.css('span').text.empty? ? mqt.title : doc.css('span').text
end
{
"text" => mqt.title,
"speed" => mqt.speed,
"url" => (mqt.url || ""),
"content" => (mqt.url.to_s.empty? ? "<a title='#{title}' speed='#{mqt.speed}'>#{mqt.title}</a>" : "<a href='#{mqt.url}' title='#{title}' target='_blank' speed='#{mqt.speed}'>#{mqt.title}</a>")
}
end
{
"texts" => texts,
"extras" => {
"subpart-id" => subpart.id.to_s
}
}
end
end