class UseCaseController

Public Instance Methods

index() click to toggle source
# File lib/nexmo_developer/app/controllers/use_case_controller.rb, line 5
def index
  @product = params['product']
  @language = params['code_language']
  @use_cases = Nexmo::Markdown::UseCase.all

  @use_cases = Nexmo::Markdown::UseCase.by_product(@product, @use_cases) if @product
  @use_cases = Nexmo::Markdown::UseCase.by_language(@language, @use_cases) if @language

  @document_title = 'Use Cases'

  render layout: 'page'
end
show() click to toggle source
# File lib/nexmo_developer/app/controllers/use_case_controller.rb, line 18
def show
  # Read document
  @document_path = Nexmo::Markdown::DocFinder.find(
    root: "#{Rails.configuration.docs_base_path}/_use_cases",
    document: params[:document],
    language: I18n.locale,
    code_language: params[:code_language]
  ).path
  @document = File.read(@document_path)

  # Parse frontmatter
  @frontmatter = YAML.safe_load(@document)

  @document_title = @frontmatter['title']
  @product = @frontmatter['products']

  @content = Nexmo::Markdown::Renderer.new(
    code_language: @code_language,
    locale: params[:locale]
  ).call(@document)

  @sidenav = Sidenav.new(
    namespace: params[:namespace],
    locale: params[:locale],
    request_path: request.path,
    navigation: @navigation,
    code_language: params[:code_language],
    product: @product
  )

  render layout: 'documentation'
end

Private Instance Methods

canonical_redirect() click to toggle source
# File lib/nexmo_developer/app/controllers/use_case_controller.rb, line 57
def canonical_redirect
  return if params[:locale].nil? && session[:locale].nil?
  return if params[:locale] && params[:locale] != I18n.default_locale.to_s
  return if session[:locale] && session[:locale] != I18n.default_locale.to_s
  return if params[:locale].nil? && session[:locale] == I18n.default_locale.to_s

  redirect_to request.path.gsub("/#{I18n.locale}", '')
end
set_navigation() click to toggle source
# File lib/nexmo_developer/app/controllers/use_case_controller.rb, line 53
def set_navigation
  @navigation = 'use-cases'
end