Sha256: 6681c00ffde6f3e983f07e29f6c65befe6f876891772604d884be5528bf674f5
Contents?: true
Size: 959 Bytes
Versions: 6
Compression:
Stored size: 959 Bytes
Contents
require 'uri' module Murlsh # Recent urls json response builder. class JsonBody def initialize(config, req, result_set) @config, @req, @result_set = config, req, result_set end # Yield body for Rack. def each; yield build; end # Recent urls json response builder. def build if defined?(@body) @body else urls = @result_set.results.map do |mu| Murlsh::Plugin.hooks('url_display_pre') do |p| p.run mu, @req, @config end h = mu.attributes h['title'] = mu.title_stripped # add site root url to relative thumbnail urls if h['thumbnail_url'] and not URI(h['thumbnail_url']).scheme.to_s.downcase[/https?/] h['thumbnail_url'] = URI.join(@config.fetch('root_url'), h['thumbnail_url']).to_s end h end @body = urls.to_json end end end end
Version data entries
6 entries across 6 versions & 1 rubygems