Class: Murlsh::JsonBody

Inherits:
Object
  • Object
show all
Includes:
BuildMd5
Defined in:
lib/murlsh/json_body.rb

Overview

Recent urls json response builder.

Direct Known Subclasses

JsonpBody

Instance Method Summary (collapse)

Methods included from BuildMd5

#md5

Constructor Details

- (JsonBody) initialize(config, req, result_set)

A new instance of JsonBody



9
10
11
# File 'lib/murlsh/json_body.rb', line 9

def initialize(config, req, result_set)
  @config, @req, @result_set = config, req, result_set
end

Instance Method Details

- (Object) build

Recent urls json response builder.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/murlsh/json_body.rb', line 17

def build
  if defined?(@body)
    @body
  else
    urls = @result_set.results.map do |mu|
      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['root_url'],
          h['thumbnail_url']).to_s
      end

      h
    end
    @body = urls.to_json
  end
end

- (Object) each {|build| ... }

Yield body for Rack.

Yields:

  • (build)


14
# File 'lib/murlsh/json_body.rb', line 14

def each; yield build; end