class Search::Document

Attributes

config[R]
doc_type[R]
path[R]

Public Class Methods

new(doc_type, config, path) click to toggle source
# File lib/nexmo_developer/app/services/search/document.rb, line 5
def initialize(doc_type, config, path)
  @doc_type = doc_type
  @config   = config
  @path     = Pathname.new(path)
end

Public Instance Methods

articles() click to toggle source
# File lib/nexmo_developer/app/services/search/document.rb, line 11
def articles
  @articles ||= Nokogiri::HTML(body).split_html.map do |section_html|
    Search::Article.new(self, section_html)
  end
end
body() click to toggle source
# File lib/nexmo_developer/app/services/search/document.rb, line 33
def body
  @body ||= Nexmo::Markdown::Renderer.new.call(document)
end
description() click to toggle source
# File lib/nexmo_developer/app/services/search/document.rb, line 29
def description
  @description ||= frontmatter['description']
end
document() click to toggle source
# File lib/nexmo_developer/app/services/search/document.rb, line 17
def document
  @document ||= File.read(@path)
end
frontmatter() click to toggle source
# File lib/nexmo_developer/app/services/search/document.rb, line 21
def frontmatter
  @frontmatter ||= YAML.safe_load(document)
end
title() click to toggle source
# File lib/nexmo_developer/app/services/search/document.rb, line 25
def title
  @title ||= frontmatter['title']
end