class SemanticBreadcrumbs

Public Class Methods

new(divider: '›') click to toggle source
# File lib/semantic-breadcrumbs.rb, line 2
def initialize(divider: '›')
  @divider = divider
end

Public Instance Methods

breadcrumbs(links) click to toggle source

breadcrumbs takes an array of link hashes and returns HTML markup for breadcrumbs in RDFA format

Private Instance Methods

noindent(s) click to toggle source
# File lib/semantic-breadcrumbs.rb, line 35
def noindent(s)
  s.gsub(/^\s+/, '').gsub("\n", '').strip
end
single(href:, name:, position:) click to toggle source
# File lib/semantic-breadcrumbs.rb, line 22
def single(href:, name:, position:)
  return nil if [href, name, position].include?(nil)

  noindent %(
    <li property="itemListElement" typeof="ListItem">
      <a property="item" typeof="WebPage" href="#{href}">
        <span property="name">#{name}</span>
      </a>
      <meta property="position" content="#{position}">
    </li>
  )
end
symbolize_keys(hash) click to toggle source
# File lib/semantic-breadcrumbs.rb, line 39
def symbolize_keys(hash)
  hash.inject({}){ |memo,(k,v)| memo[k.to_sym] = v; memo }
end