class SidenavItem

Public Class Methods

new(folder:, sidenav:) click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav_item.rb, line 7
def initialize(folder:, sidenav:)
  @folder  = folder
  @sidenav = sidenav
  @options = Navigation.new(folder).options
end

Public Instance Methods

children() click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav_item.rb, line 33
def children
  @children ||= (@folder[:children] || []).map do |child|
    SidenavSubitem.new(folder: child, sidenav: @sidenav)
  end
end
css_classes() click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav_item.rb, line 39
def css_classes
  classes = ['Nxd-sidenav-badge Vlt-badge Vlt-badge--margin-left Vlt-badge--small']
  classes << 'Vlt-badge--transparent Vlt-badge--green' if label.casecmp('beta').zero?
  classes << 'Vlt-badge--transparent Vlt-badge--blue' if label.casecmp('dev preview').zero?

  classes.join(' ')
end
label() click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav_item.rb, line 29
def label
  @options['label']
end
label?() click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav_item.rb, line 25
def label?
  label.present?
end
normalized_title() click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav_item.rb, line 51
def normalized_title
  @normalized_title ||= TitleNormalizer.call(@folder)
end
svg() click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav_item.rb, line 17
def svg
  @options['svg'] && "/symbol/volta-icons.svg#Vlt-icon-#{@options['svg']}"
end
svg?() click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav_item.rb, line 13
def svg?
  svg && svg_color
end
svg_color() click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav_item.rb, line 21
def svg_color
  'Vlt-gray-darker'
end
title() click to toggle source
# File lib/nexmo_developer/app/presenters/sidenav_item.rb, line 55
def title
  @folder[:title]
end