Sha256: 6f226231db16b68935cd3a759df42c9e5a8458ac1b4e9a62020d5a2624a70fd5

Contents?: true

Size: 1.59 KB

Versions: 5

Compression:

Stored size: 1.59 KB

Contents

module YARD::Generators::Helpers
  module BaseHelper
    # This is used a lot by the HtmlHelper and there should
    # be some helper to "clean up" text for whatever, this is it.
    def h(text)
      text
    end
    
    def linkify(*args) 
      # The :// character sequence exists in no valid object path but just about every URL scheme.
      if args.first.is_a?(String) && args.first.include?("://")
        link_url(*args)
      else
        link_object(*args)
      end
    end

    def link_object(object, title = nil)
      return title if title
      
      case object
      when YARD::CodeObjects::Base, YARD::CodeObjects::Proxy
        object.path
      when String, Symbol
        P(object).path
      else
        object
      end
    end
    
    def link_url(url)
      url
    end
    
    def format_object_name_list(objects)
      objects.sort_by {|o| o.name.to_s.downcase }.join(", ")
    end
    
    def format_types(list, brackets = true)
      list.empty? ? "" : (brackets ? "[#{list.join(", ")}]" : list.join(", "))
    end

    def format_object_type(object)
      case object
      when YARD::CodeObjects::ClassObject
        object.is_exception? ? "Exception" : "Class"
      else
        object.type.to_s.capitalize
      end
    end
    
    def format_object_title(object)
      case object
      when YARD::CodeObjects::RootObject
        "Top Level Namespace"
      else
        format_object_type(object) + ": " + object.path
      end
    end

    def overloads(method)
      if method.has_tag?(:overload)
        method.tags(:overload)
      else
        [method]
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
yard-0.2.3.5 lib/yard/generators/helpers/base_helper.rb
yard-0.2.3.4 lib/yard/generators/helpers/base_helper.rb
yard-0.2.3.2 lib/yard/generators/helpers/base_helper.rb
yard-0.2.3.3 lib/yard/generators/helpers/base_helper.rb
yard-0.2.3 lib/yard/generators/helpers/base_helper.rb