Class: PageTitle

Inherits:
Object
  • Object
show all
Defined in:
lib/nexmo_developer/app/presenters/page_title.rb

Instance Method Summary collapse

Constructor Details

#initialize(product, document_title) ⇒ PageTitle

Returns a new instance of PageTitle.



2
3
4
5
# File 'lib/nexmo_developer/app/presenters/page_title.rb', line 2

def initialize(product, document_title)
  @product        = product
  @document_title = document_title
end

Instance Method Details

#default_titleObject



32
33
34
35
36
37
# File 'lib/nexmo_developer/app/presenters/page_title.rb', line 32

def default_title
  @default_title ||= begin
    config = YAML.safe_load(File.open("#{Rails.configuration.docs_base_path}/config/header_meta.yml"))
    config['title']
  end
end

#load_configObject



23
24
25
26
27
28
29
30
# File 'lib/nexmo_developer/app/presenters/page_title.rb', line 23

def load_config
  @load_config ||= begin
    path ||= "#{Rails.configuration.docs_base_path}/config/products.yml"
    raise 'You must provide a config/products.yml file in your documentation path.' unless File.exist?(path)

    YAML.safe_load(File.open(path))
  end
end

#product_title_from_config(product) ⇒ Object



17
18
19
20
21
# File 'lib/nexmo_developer/app/presenters/page_title.rb', line 17

def product_title_from_config(product)
  config = load_config
  item = config['products'].select { |config_product| config_product['path'] == product }[0]
  item['name']
end

#titleObject



7
8
9
10
11
12
13
14
15
# File 'lib/nexmo_developer/app/presenters/page_title.rb', line 7

def title
  if @product && @document_title
    "#{product_title_from_config(@product)} > #{@document_title} | #{default_title}"
  elsif @document_title
    "#{@document_title} | #{default_title}"
  else
    default_title
  end
end