Sha256: f88c9c939fd1368a2f5d5342ad73f76c2a6e7c63df672150569f39ea88b47bfc

Contents?: true

Size: 1.41 KB

Versions: 3

Compression:

Stored size: 1.41 KB

Contents

module ApiDoc
  module ApplicationHelper
    
    def sidebar_links
      groups = {}
      # links = ""
      files = Dir.glob(File.join(ApiDoc::Config.view_path, "**", "*.html.erb")).sort
      files.each do |file|
        name = file.gsub(ApiDoc::Config.view_path, "")
        name.gsub!(".html.erb", "")
        name.gsub!(/^\//, "")
        groups[File.dirname(name)] ||= []
        groups[File.dirname(name)] << name
      #   links << "<li><a href='#{api_doc_page_path(path: name)}'>#{name}</a></li>"
      end
      html = ""
      groups.each do |group, names|
        html << "<li class='nav-header'>#{group}</li>"
        names.each do |name|
          display_name = name.gsub(group, "")
          Rails.logger.info display_name
          display_name.gsub!(/^\//, "")
          Rails.logger.info display_name
          display_name.gsub!(/(^[^\_]+)\_/, '\1 ')
          Rails.logger.info display_name
          display_name.gsub!(/\_\(/, " (")
          Rails.logger.info display_name
          html << "<li><a href='#{api_doc_page_path(path: name)}'>#{display_name.gsub("_", " ")}</a></li>"
        end
      end
      raw html
    end

    def tr(slug, *args)
      path = %w{api_doc page}
      no_slug_path = path.dup
      path << slug
      path << args
      no_slug_path << args
      path.flatten!
      no_slug_path.flatten!
      t(path.flatten.join("."), default: t(no_slug_path.join('.'), default: ""))
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
api_doc-0.0.11 app/helpers/api_doc/application_helper.rb
api_doc-0.0.10 app/helpers/api_doc/application_helper.rb
api_doc-0.0.9 app/helpers/api_doc/application_helper.rb