class Sidenav
Attributes
code_language[R]
locale[R]
product[R]
request_path[R]
Public Class Methods
new(request_path:, navigation:, product:, locale: nil, code_language: nil, namespace: nil)
click to toggle source
rubocop:disable Metrics/ParameterLists
# File lib/nexmo_developer/app/presenters/sidenav.rb, line 5 def initialize(request_path:, navigation:, product:, locale: nil, code_language: nil, namespace: nil) @request_path = request_path @navigation = navigation @product = product @locale = locale @code_language = code_language @namespace = namespace after_initialize! end
Public Instance Methods
documentation?()
click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav.rb, line 27 def documentation? namespace == 'documentation' end
namespace()
click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav.rb, line 23 def namespace @namespace.presence || 'documentation' end
Private Instance Methods
after_initialize!()
click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav.rb, line 33 def after_initialize! if @namespace.present? @path = "app/views/#{@namespace}" else @path = "#{Rails.configuration.docs_base_path}/_documentation" end end
children()
click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav.rb, line 41 def children @children ||= resolver.items end
items()
click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav.rb, line 45 def items if @namespace.present? [{ title: @namespace, path: @path.gsub('app/views', ''), children: children, }] else children end end
resolver()
click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav.rb, line 57 def resolver @resolver ||= SidenavResolver.new( path: @path, namespace: @namespace, language: I18n.locale ) end