Sha256: ce3958c3f570342522d8e019a5ed22614a904750d5d6ce6f2dae016674ac92ed
Contents?: true
Size: 1.13 KB
Versions: 4
Compression:
Stored size: 1.13 KB
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['enclosures'] = mu.enclosures.map do |e| new_e = e.attributes.reject { |k,v| k == 'url_id' } new_e['title'] = e.title_stripped new_e end h end @body = urls.to_json end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
murlsh-1.9.3 | lib/murlsh/json_body.rb |
murlsh-1.9.2 | lib/murlsh/json_body.rb |
murlsh-1.9.1 | lib/murlsh/json_body.rb |
murlsh-1.9.0 | lib/murlsh/json_body.rb |