class Gollum::Macro::Series

Public Instance Methods

find_series(series_prefix = "") click to toggle source
# File lib/gollum-lib/macro/series.rb, line 20
def find_series(series_prefix = "")
  dir = @wiki.pages.select {|page| ::File.dirname(page.path) == ::File.dirname(@page.path)}
  dir.select! {|page| page.name =~ /\A#{series_prefix}/ } unless series_prefix.empty?
  dir.sort_by! {|page| page.name}
  self_index = dir.find_index {|page| page.name == @page.name}
  if self_index > 0
    return dir[self_index-1], dir[self_index+1]
  else
    return nil, dir[self_index+1]
  end
end
render(series_prefix = "") click to toggle source
# File lib/gollum-lib/macro/series.rb, line 5
def render(series_prefix = "")
  raise "This page's name does not match the prefix '#{series_prefix}'" unless @page.name =~ /^#{series_prefix}/
  render_links(*find_series(series_prefix))
end
wrap_result(result) click to toggle source
# File lib/gollum-lib/macro/series.rb, line 16
def wrap_result(result)
  result.nil? ? "" : "<div class=\"series\">#{result}</div>"
end