yard-go 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
 - data/LICENSE.txt +22 -0
 - data/README.md +5 -0
 - data/lib/yard-go.rb +14 -0
 - data/lib/yard-go/code_objects.rb +86 -0
 - data/lib/yard-go/extensions.rb +64 -0
 - data/lib/yard-go/handlers.rb +186 -0
 - data/lib/yard-go/helpers.rb +94 -0
 - data/lib/yard-go/parser.rb +194 -0
 - data/lib/yard-go/version.rb +3 -0
 - data/templates/default/bare_struct/html/fields.erb +15 -0
 - data/templates/default/bare_struct/html/inherited_fields.erb +15 -0
 - data/templates/default/bare_struct/html/method_signature.erb +18 -0
 - data/templates/default/bare_struct/html/setup.rb +11 -0
 - data/templates/default/field/html/method_signature.erb +4 -0
 - data/templates/default/field/html/setup.rb +1 -0
 - data/templates/default/fulldoc/html/css/common.css +33 -0
 - data/templates/default/fulldoc/html/css/highlight.github.css +123 -0
 - data/templates/default/fulldoc/html/full_list_package.erb +2 -0
 - data/templates/default/fulldoc/html/setup.rb +10 -0
 - data/templates/default/interface/html/implemented_by.erb +5 -0
 - data/templates/default/interface/html/setup.rb +6 -0
 - data/templates/default/layout/html/layout.erb +29 -0
 - data/templates/default/layout/html/setup.rb +33 -0
 - data/templates/default/method_details/html/source.erb +10 -0
 - data/templates/default/module/html/box_info.erb +3 -0
 - data/templates/default/module/html/constant_summary.erb +22 -0
 - data/templates/default/module/html/inherited_methods.erb +18 -0
 - data/templates/default/module/html/item_summary.erb +23 -0
 - data/templates/default/module/html/method_details_list.erb +9 -0
 - data/templates/default/module/html/packages.erb +4 -0
 - data/templates/default/module/html/setup.rb +33 -0
 - data/templates/default/package/html/list_summary.erb +12 -0
 - data/templates/default/package/html/setup.rb +22 -0
 - data/templates/default/package/html/type_details.erb +9 -0
 - data/templates/default/struct/html/fields_details.erb +9 -0
 - data/templates/default/struct/html/fields_summary.erb +12 -0
 - data/templates/default/struct/html/implemented_interfaces.erb +5 -0
 - data/templates/default/struct/html/inherited_fields.erb +15 -0
 - data/templates/default/struct/html/setup.rb +9 -0
 - data/yard-go.gemspec +15 -0
 - metadata +83 -0
 
| 
         @@ -0,0 +1,194 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'json'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module YARDGo
         
     | 
| 
      
 4 
     | 
    
         
            +
              module Parser
         
     | 
| 
      
 5 
     | 
    
         
            +
                class Statement < OpenStruct
         
     | 
| 
      
 6 
     | 
    
         
            +
                  def to_s; source end
         
     | 
| 
      
 7 
     | 
    
         
            +
                end
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                class Go < YARD::Parser::Base
         
     | 
| 
      
 10 
     | 
    
         
            +
                  include YARD
         
     | 
| 
      
 11 
     | 
    
         
            +
                  include YARD::CodeObjects
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                  @@matches = {
         
     | 
| 
      
 14 
     | 
    
         
            +
                    comment: %r{^\s*//(.*)},
         
     | 
| 
      
 15 
     | 
    
         
            +
                    package: /^package (\w+)/,
         
     | 
| 
      
 16 
     | 
    
         
            +
                    function: /^func (\w+)\((.*?)\)(.*?)\{/,
         
     | 
| 
      
 17 
     | 
    
         
            +
                    struct: /^type (\w+) struct\s+\{/,
         
     | 
| 
      
 18 
     | 
    
         
            +
                    interface: /^type (\w+) interface\s+\{/,
         
     | 
| 
      
 19 
     | 
    
         
            +
                    method: /^func \(\w+\s+\*?(.+?)\) (\w+)\((.*?)\)(.*)\{/,
         
     | 
| 
      
 20 
     | 
    
         
            +
                    close_brace: /^\}/,
         
     | 
| 
      
 21 
     | 
    
         
            +
                    close_paren: /^\)/,
         
     | 
| 
      
 22 
     | 
    
         
            +
                    single_var: /^(var|const)\s+(.+?)\s*=\s*(.+)/,
         
     | 
| 
      
 23 
     | 
    
         
            +
                    multi_var: /^(var|const)\s*\(/
         
     | 
| 
      
 24 
     | 
    
         
            +
                  }
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                  def tokenize; [] end
         
     | 
| 
      
 27 
     | 
    
         
            +
                  def enumerator; @ast end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                  attr_reader :file
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                  def initialize(source, file)
         
     | 
| 
      
 32 
     | 
    
         
            +
                    YARD::CodeObjects.send(:remove_const, :NSEP)
         
     | 
| 
      
 33 
     | 
    
         
            +
                    YARD::CodeObjects.const_set(:NSEP, '/')
         
     | 
| 
      
 34 
     | 
    
         
            +
                    YARD::CodeObjects.send(:remove_const, :NSEPQ)
         
     | 
| 
      
 35 
     | 
    
         
            +
                    YARD::CodeObjects.const_set(:NSEPQ, '/')
         
     | 
| 
      
 36 
     | 
    
         
            +
                    YARD::CodeObjects.send(:remove_const, :ISEP)
         
     | 
| 
      
 37 
     | 
    
         
            +
                    YARD::CodeObjects.const_set(:ISEP, '.')
         
     | 
| 
      
 38 
     | 
    
         
            +
                    YARD::CodeObjects.send(:remove_const, :ISEPQ)
         
     | 
| 
      
 39 
     | 
    
         
            +
                    YARD::CodeObjects.const_set(:ISEPQ, '.')
         
     | 
| 
      
 40 
     | 
    
         
            +
                    @lines = source.split(/\r?\n/)
         
     | 
| 
      
 41 
     | 
    
         
            +
                    @file = file
         
     | 
| 
      
 42 
     | 
    
         
            +
                    @svc_docs = {}
         
     | 
| 
      
 43 
     | 
    
         
            +
                    @ast = []
         
     | 
| 
      
 44 
     | 
    
         
            +
                    @structs = {}
         
     | 
| 
      
 45 
     | 
    
         
            +
                    @lineno = 0
         
     | 
| 
      
 46 
     | 
    
         
            +
                  end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                  def parse
         
     | 
| 
      
 49 
     | 
    
         
            +
                    clear_comments
         
     | 
| 
      
 50 
     | 
    
         
            +
                    consume_until do
         
     | 
| 
      
 51 
     | 
    
         
            +
                      case line
         
     | 
| 
      
 52 
     | 
    
         
            +
                      when @@matches[:comment]
         
     | 
| 
      
 53 
     | 
    
         
            +
                        add_comment($1)
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
                      when @@matches[:package]
         
     | 
| 
      
 56 
     | 
    
         
            +
                        @ast << s(:package, package_name: $1)
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                      when @@matches[:function]
         
     | 
| 
      
 59 
     | 
    
         
            +
                        t = s(:function, name: $1, args: $2, ret: $3)
         
     | 
| 
      
 60 
     | 
    
         
            +
                        attach_source(t)
         
     | 
| 
      
 61 
     | 
    
         
            +
                        @ast << t
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
                      when @@matches[:struct]
         
     | 
| 
      
 64 
     | 
    
         
            +
                        t = init_struct($1)
         
     | 
| 
      
 65 
     | 
    
         
            +
                        consume_fields(t)
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
                      when @@matches[:interface]
         
     | 
| 
      
 68 
     | 
    
         
            +
                        t = s(:interface, name: $1, fields: [])
         
     | 
| 
      
 69 
     | 
    
         
            +
                        consume_fields(t)
         
     | 
| 
      
 70 
     | 
    
         
            +
                        @ast << t
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
                      when @@matches[:method]
         
     | 
| 
      
 73 
     | 
    
         
            +
                        t = init_struct($1)
         
     | 
| 
      
 74 
     | 
    
         
            +
                        m = s(:method, type: $1, name: $2, args: $3, ret: $4)
         
     | 
| 
      
 75 
     | 
    
         
            +
                        attach_source(m)
         
     | 
| 
      
 76 
     | 
    
         
            +
                        t.meths.push(m)
         
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
      
 78 
     | 
    
         
            +
                      when @@matches[:single_var]
         
     | 
| 
      
 79 
     | 
    
         
            +
                        type, lhs, src = $1.to_sym, $2, [$3]
         
     | 
| 
      
 80 
     | 
    
         
            +
                        name, vartype = *lhs.split(/\s+/)
         
     | 
| 
      
 81 
     | 
    
         
            +
                        
         
     | 
| 
      
 82 
     | 
    
         
            +
                        @lineno += 1
         
     | 
| 
      
 83 
     | 
    
         
            +
                        consume_until %r{^(\w|\/\/)} do
         
     | 
| 
      
 84 
     | 
    
         
            +
                          src << line
         
     | 
| 
      
 85 
     | 
    
         
            +
                        end
         
     | 
| 
      
 86 
     | 
    
         
            +
                        @lineno -= 1
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
                        @ast << s(type, name: name, vartype: vartype, value: src.join("\n"))
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
                      when @@matches[:multi_var]
         
     | 
| 
      
 91 
     | 
    
         
            +
                        type = $1.to_sym
         
     | 
| 
      
 92 
     | 
    
         
            +
                        clear_comments
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
      
 94 
     | 
    
         
            +
                        @lineno += 1
         
     | 
| 
      
 95 
     | 
    
         
            +
                        consume_until @@matches[:close_paren] do
         
     | 
| 
      
 96 
     | 
    
         
            +
                          case line
         
     | 
| 
      
 97 
     | 
    
         
            +
                          when @@matches[:comment]
         
     | 
| 
      
 98 
     | 
    
         
            +
                            add_comment($1)
         
     | 
| 
      
 99 
     | 
    
         
            +
                          when /^(\s*)(.+?)\s*=\s*(.+)/m
         
     | 
| 
      
 100 
     | 
    
         
            +
                            mindent, lhs, src = $1.length, $2, [$3]
         
     | 
| 
      
 101 
     | 
    
         
            +
                            name, vartype = *lhs.split(/\s+/)
         
     | 
| 
      
 102 
     | 
    
         
            +
                            
         
     | 
| 
      
 103 
     | 
    
         
            +
                            @lineno += 1
         
     | 
| 
      
 104 
     | 
    
         
            +
                            consume_until @@matches[:close_paren] do
         
     | 
| 
      
 105 
     | 
    
         
            +
                              indent = (line[/^(\s+)/, 1] || "").length
         
     | 
| 
      
 106 
     | 
    
         
            +
                              break if indent < mindent
         
     | 
| 
      
 107 
     | 
    
         
            +
                              break if indent == mindent && line =~ /^\s+(\w|\/\/)/
         
     | 
| 
      
 108 
     | 
    
         
            +
                              src << line
         
     | 
| 
      
 109 
     | 
    
         
            +
                            end
         
     | 
| 
      
 110 
     | 
    
         
            +
                            @lineno -= 1
         
     | 
| 
      
 111 
     | 
    
         
            +
             
     | 
| 
      
 112 
     | 
    
         
            +
                            @ast << s(type, name: name, vartype: vartype, value: src.join("\n"))
         
     | 
| 
      
 113 
     | 
    
         
            +
                          end
         
     | 
| 
      
 114 
     | 
    
         
            +
                        end
         
     | 
| 
      
 115 
     | 
    
         
            +
             
     | 
| 
      
 116 
     | 
    
         
            +
                      else
         
     | 
| 
      
 117 
     | 
    
         
            +
                        if @comments.size > 0
         
     | 
| 
      
 118 
     | 
    
         
            +
                          @ast << s(:comment)
         
     | 
| 
      
 119 
     | 
    
         
            +
                        else
         
     | 
| 
      
 120 
     | 
    
         
            +
                          clear_comments
         
     | 
| 
      
 121 
     | 
    
         
            +
                        end
         
     | 
| 
      
 122 
     | 
    
         
            +
                      end
         
     | 
| 
      
 123 
     | 
    
         
            +
                    end
         
     | 
| 
      
 124 
     | 
    
         
            +
             
     | 
| 
      
 125 
     | 
    
         
            +
                    @ast += @structs.values
         
     | 
| 
      
 126 
     | 
    
         
            +
             
     | 
| 
      
 127 
     | 
    
         
            +
                    self
         
     | 
| 
      
 128 
     | 
    
         
            +
                  end
         
     | 
| 
      
 129 
     | 
    
         
            +
             
     | 
| 
      
 130 
     | 
    
         
            +
                  private
         
     | 
| 
      
 131 
     | 
    
         
            +
             
     | 
| 
      
 132 
     | 
    
         
            +
                  def init_struct(name)
         
     | 
| 
      
 133 
     | 
    
         
            +
                    @structs[name] ||= s(:struct, name: name, fields: [], meths: [])
         
     | 
| 
      
 134 
     | 
    
         
            +
                  end
         
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
                  def consume_fields(t)
         
     | 
| 
      
 137 
     | 
    
         
            +
                    @lineno += 1
         
     | 
| 
      
 138 
     | 
    
         
            +
                    consume_until @@matches[:close_brace] do
         
     | 
| 
      
 139 
     | 
    
         
            +
                      case line
         
     | 
| 
      
 140 
     | 
    
         
            +
                      when @@matches[:comment]
         
     | 
| 
      
 141 
     | 
    
         
            +
                        add_comment($1)
         
     | 
| 
      
 142 
     | 
    
         
            +
                      when /^\s*\*?([\w\.]+)\s*(?:`(.+?)`)?\s*$/
         
     | 
| 
      
 143 
     | 
    
         
            +
                        path, tags = $1, $2
         
     | 
| 
      
 144 
     | 
    
         
            +
                        name = path.split('.').last
         
     | 
| 
      
 145 
     | 
    
         
            +
                        t.fields.push(s(:composition, name: name, path: path, tags: tags))
         
     | 
| 
      
 146 
     | 
    
         
            +
                      when /^\s*(\w+)(\(.*?\))\s*(.*)?\s*(?:`(.+?)`)?\s*$/
         
     | 
| 
      
 147 
     | 
    
         
            +
                        t.fields.push(s(:fieldfn, name: $1, args: $3, ret: $4, tags: $5))
         
     | 
| 
      
 148 
     | 
    
         
            +
                      when /^\s*(\w+)\s*(\S+)\s*(?:`(.+?)`)?\s*$/
         
     | 
| 
      
 149 
     | 
    
         
            +
                        t.fields.push(s(:field, name: $1, field_type: $2, tags: $3))
         
     | 
| 
      
 150 
     | 
    
         
            +
                      else
         
     | 
| 
      
 151 
     | 
    
         
            +
                        clear_comments
         
     | 
| 
      
 152 
     | 
    
         
            +
                      end
         
     | 
| 
      
 153 
     | 
    
         
            +
                    end
         
     | 
| 
      
 154 
     | 
    
         
            +
                  end
         
     | 
| 
      
 155 
     | 
    
         
            +
             
     | 
| 
      
 156 
     | 
    
         
            +
                  def s(type, opts = {})
         
     | 
| 
      
 157 
     | 
    
         
            +
                    options = {source: line}.merge(opts)
         
     | 
| 
      
 158 
     | 
    
         
            +
                    c = @comments.join("\n")
         
     | 
| 
      
 159 
     | 
    
         
            +
                    c = c.gsub(/(\n[ \t]*\n[ \t]*\n)(.+\n\n)/, '\1## \2')
         
     | 
| 
      
 160 
     | 
    
         
            +
                    clear_comments
         
     | 
| 
      
 161 
     | 
    
         
            +
                    Statement.new(options.merge(type: type.to_sym, comments: c, line: @lineno))
         
     | 
| 
      
 162 
     | 
    
         
            +
                  end
         
     | 
| 
      
 163 
     | 
    
         
            +
             
     | 
| 
      
 164 
     | 
    
         
            +
                  def line
         
     | 
| 
      
 165 
     | 
    
         
            +
                    @lines[@lineno]
         
     | 
| 
      
 166 
     | 
    
         
            +
                  end
         
     | 
| 
      
 167 
     | 
    
         
            +
             
     | 
| 
      
 168 
     | 
    
         
            +
                  def clear_comments
         
     | 
| 
      
 169 
     | 
    
         
            +
                    @comments = []
         
     | 
| 
      
 170 
     | 
    
         
            +
                  end
         
     | 
| 
      
 171 
     | 
    
         
            +
             
     | 
| 
      
 172 
     | 
    
         
            +
                  def add_comment(match)
         
     | 
| 
      
 173 
     | 
    
         
            +
                    @comments.push(match.sub(/^ /, ''))
         
     | 
| 
      
 174 
     | 
    
         
            +
                  end
         
     | 
| 
      
 175 
     | 
    
         
            +
             
     | 
| 
      
 176 
     | 
    
         
            +
                  def consume_until(re = nil, &block)
         
     | 
| 
      
 177 
     | 
    
         
            +
                    while @lineno < @lines.size
         
     | 
| 
      
 178 
     | 
    
         
            +
                      break if re && line =~ re
         
     | 
| 
      
 179 
     | 
    
         
            +
                      yield
         
     | 
| 
      
 180 
     | 
    
         
            +
                      @lineno += 1
         
     | 
| 
      
 181 
     | 
    
         
            +
                    end
         
     | 
| 
      
 182 
     | 
    
         
            +
                  end
         
     | 
| 
      
 183 
     | 
    
         
            +
             
     | 
| 
      
 184 
     | 
    
         
            +
                  def attach_source(t)
         
     | 
| 
      
 185 
     | 
    
         
            +
                    src = []
         
     | 
| 
      
 186 
     | 
    
         
            +
                    consume_until @@matches[:close_brace] do
         
     | 
| 
      
 187 
     | 
    
         
            +
                      src << line
         
     | 
| 
      
 188 
     | 
    
         
            +
                    end
         
     | 
| 
      
 189 
     | 
    
         
            +
                    src << line
         
     | 
| 
      
 190 
     | 
    
         
            +
                    t.source = src.join("\n")
         
     | 
| 
      
 191 
     | 
    
         
            +
                  end
         
     | 
| 
      
 192 
     | 
    
         
            +
                end
         
     | 
| 
      
 193 
     | 
    
         
            +
              end
         
     | 
| 
      
 194 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <div class="tags">
         
     | 
| 
      
 2 
     | 
    
         
            +
            <p class="tag_title">Structure Fields:</p>
         
     | 
| 
      
 3 
     | 
    
         
            +
            <dl class="fields">
         
     | 
| 
      
 4 
     | 
    
         
            +
            <% @fields.sort_by {|m| m.tag(:gotags) && m.tag(:gotags).text =~ /required:"true"/ ? -1 : 1 }.each do |m| %>
         
     | 
| 
      
 5 
     | 
    
         
            +
              <dt><code>
         
     | 
| 
      
 6 
     | 
    
         
            +
                <strong><%= m.name %></strong> <%= signature_types m %> 
         
     | 
| 
      
 7 
     | 
    
         
            +
                <% if m.tag(:gotags) && m.tag(:gotags).text =~ /required:"true"/ %><span class="note title readonly">required</span><% end %>
         
     | 
| 
      
 8 
     | 
    
         
            +
              </code></dt>
         
     | 
| 
      
 9 
     | 
    
         
            +
              <dd><%= htmlify m.docstring %></dd>
         
     | 
| 
      
 10 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 11 
     | 
    
         
            +
            <% if @fields.size == 0 %>
         
     | 
| 
      
 12 
     | 
    
         
            +
              <dt><em>(empty struct)</em></dt>
         
     | 
| 
      
 13 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 14 
     | 
    
         
            +
            </dl>
         
     | 
| 
      
 15 
     | 
    
         
            +
            </div>
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <% found_method = false %>
         
     | 
| 
      
 2 
     | 
    
         
            +
            <% object.inheritance_tree(true)[1..-1].each do |superclass| %>
         
     | 
| 
      
 3 
     | 
    
         
            +
              <% next if superclass.is_a?(YARD::CodeObjects::Proxy) %>
         
     | 
| 
      
 4 
     | 
    
         
            +
              <% next if options.embed_mixins.size > 0 && options.embed_mixins_match?(superclass) != false %>
         
     | 
| 
      
 5 
     | 
    
         
            +
              <% meths = superclass.children.select {|c| c.type == :field } %>
         
     | 
| 
      
 6 
     | 
    
         
            +
              <% next if meths.size == 0 %>
         
     | 
| 
      
 7 
     | 
    
         
            +
              <% if method_listing.size == 0 && !found_method %><h2>Method Summary</h2><% end %>
         
     | 
| 
      
 8 
     | 
    
         
            +
              <% found_method = true %>
         
     | 
| 
      
 9 
     | 
    
         
            +
              <h3 class="inherited">Fields <%= superclass.type == :class ? 'inherited' : 'included' %> from <%= linkify superclass %></h3>
         
     | 
| 
      
 10 
     | 
    
         
            +
              <p class="inherited"><%=
         
     | 
| 
      
 11 
     | 
    
         
            +
                meths.sort_by {|o| o.name.to_s }.map do |m|
         
     | 
| 
      
 12 
     | 
    
         
            +
                  linkify(m)
         
     | 
| 
      
 13 
     | 
    
         
            +
                end.join(", ")
         
     | 
| 
      
 14 
     | 
    
         
            +
              %></p>
         
     | 
| 
      
 15 
     | 
    
         
            +
            <% end %>
         
     | 
| 
         @@ -0,0 +1,18 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <h3 class="signature <%= 'first' if @index == 0 %>" id="<%= anchor_for(object) %>">
         
     | 
| 
      
 2 
     | 
    
         
            +
              <% if object.tags(:overload).size == 1 %>
         
     | 
| 
      
 3 
     | 
    
         
            +
                <%= signature(object.tag(:overload), false) %>
         
     | 
| 
      
 4 
     | 
    
         
            +
              <% elsif object.tags(:overload).size > 1 %>
         
     | 
| 
      
 5 
     | 
    
         
            +
                <% object.tags(:overload).each do |overload| %>
         
     | 
| 
      
 6 
     | 
    
         
            +
                  <span class="overload"><%= signature(overload, false) %></span>
         
     | 
| 
      
 7 
     | 
    
         
            +
                <% end %>
         
     | 
| 
      
 8 
     | 
    
         
            +
              <% else %>
         
     | 
| 
      
 9 
     | 
    
         
            +
                <%= signature(object, false) %>
         
     | 
| 
      
 10 
     | 
    
         
            +
              <% end %>
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
              <% if owner != object.namespace %>
         
     | 
| 
      
 13 
     | 
    
         
            +
                <span class="not_defined_here">
         
     | 
| 
      
 14 
     | 
    
         
            +
                  Originally defined in <%= object.namespace.type %>
         
     | 
| 
      
 15 
     | 
    
         
            +
                    <%= linkify object, owner.relative_path(object.namespace) %>
         
     | 
| 
      
 16 
     | 
    
         
            +
                </span>
         
     | 
| 
      
 17 
     | 
    
         
            +
              <% end %>
         
     | 
| 
      
 18 
     | 
    
         
            +
            </h3>
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            include T('default/method_details/html')
         
     | 
| 
         @@ -0,0 +1,33 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #content .tags dl.fields { margin-left: 30px; }
         
     | 
| 
      
 2 
     | 
    
         
            +
            #content .inline-objects p.children { line-height: 2.4em; }
         
     | 
| 
      
 3 
     | 
    
         
            +
            #content .inline-objects p.children .object_link a {
         
     | 
| 
      
 4 
     | 
    
         
            +
              font-family: monospace;
         
     | 
| 
      
 5 
     | 
    
         
            +
              padding: 5px 7px;
         
     | 
| 
      
 6 
     | 
    
         
            +
              padding-right: 4px;
         
     | 
| 
      
 7 
     | 
    
         
            +
              margin-right: 5px;
         
     | 
| 
      
 8 
     | 
    
         
            +
              background: #f8f8f8;
         
     | 
| 
      
 9 
     | 
    
         
            +
              border: 1px solid #f0f0f0;
         
     | 
| 
      
 10 
     | 
    
         
            +
              border-radius: 5px;
         
     | 
| 
      
 11 
     | 
    
         
            +
              font-weight: bold;
         
     | 
| 
      
 12 
     | 
    
         
            +
            }
         
     | 
| 
      
 13 
     | 
    
         
            +
            #content .package.signature {
         
     | 
| 
      
 14 
     | 
    
         
            +
              font-weight: normal;
         
     | 
| 
      
 15 
     | 
    
         
            +
              font-family: monospace;
         
     | 
| 
      
 16 
     | 
    
         
            +
              font-size: 1.05em;
         
     | 
| 
      
 17 
     | 
    
         
            +
            }
         
     | 
| 
      
 18 
     | 
    
         
            +
            #content .inline-objects p.children .object_link a:hover {
         
     | 
| 
      
 19 
     | 
    
         
            +
              background: #CFEBFF; border-color: #A4CCDA;
         
     | 
| 
      
 20 
     | 
    
         
            +
            }
         
     | 
| 
      
 21 
     | 
    
         
            +
            #content dl.constants { font-size: 1.05em; }
         
     | 
| 
      
 22 
     | 
    
         
            +
            #content dl.constants .note { padding-right: 6px; }
         
     | 
| 
      
 23 
     | 
    
         
            +
            #content dl.constants dt { font-weight: normal; }
         
     | 
| 
      
 24 
     | 
    
         
            +
            #content dl.constants dt .defn { margin-bottom: 10px; }
         
     | 
| 
      
 25 
     | 
    
         
            +
            #content dl.constants dd { font-family: sans-serif; white-space: normal; }
         
     | 
| 
      
 26 
     | 
    
         
            +
            #content dl.constants dd h3 { font-size: 1.05em; margin: 0; }
         
     | 
| 
      
 27 
     | 
    
         
            +
            .note.title.interface, .note.title.struct {
         
     | 
| 
      
 28 
     | 
    
         
            +
              font-weight: bold;
         
     | 
| 
      
 29 
     | 
    
         
            +
              color: #8C8B00;
         
     | 
| 
      
 30 
     | 
    
         
            +
              background: #FEFFE1;
         
     | 
| 
      
 31 
     | 
    
         
            +
              border-color: #D9DBBC;
         
     | 
| 
      
 32 
     | 
    
         
            +
            }
         
     | 
| 
      
 33 
     | 
    
         
            +
            pre, code { tab-size: 2; }
         
     | 
| 
         @@ -0,0 +1,123 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            /*
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            github.com style (c) Vasily Polovnyov <vast@whiteants.net>
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            */
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            .hljs {
         
     | 
| 
      
 8 
     | 
    
         
            +
              display: block;
         
     | 
| 
      
 9 
     | 
    
         
            +
              overflow-x: auto;
         
     | 
| 
      
 10 
     | 
    
         
            +
              padding: 0.5em;
         
     | 
| 
      
 11 
     | 
    
         
            +
              color: #333;
         
     | 
| 
      
 12 
     | 
    
         
            +
              background: #f8f8f8;
         
     | 
| 
      
 13 
     | 
    
         
            +
              -webkit-text-size-adjust: none;
         
     | 
| 
      
 14 
     | 
    
         
            +
            }
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            .hljs-comment,
         
     | 
| 
      
 17 
     | 
    
         
            +
            .diff .hljs-header {
         
     | 
| 
      
 18 
     | 
    
         
            +
              color: #998;
         
     | 
| 
      
 19 
     | 
    
         
            +
              font-style: italic;
         
     | 
| 
      
 20 
     | 
    
         
            +
            }
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
            .hljs-keyword,
         
     | 
| 
      
 23 
     | 
    
         
            +
            .css .rule .hljs-keyword,
         
     | 
| 
      
 24 
     | 
    
         
            +
            .hljs-winutils,
         
     | 
| 
      
 25 
     | 
    
         
            +
            .nginx .hljs-title,
         
     | 
| 
      
 26 
     | 
    
         
            +
            .hljs-subst,
         
     | 
| 
      
 27 
     | 
    
         
            +
            .hljs-request,
         
     | 
| 
      
 28 
     | 
    
         
            +
            .hljs-status {
         
     | 
| 
      
 29 
     | 
    
         
            +
              color: #333;
         
     | 
| 
      
 30 
     | 
    
         
            +
              font-weight: bold;
         
     | 
| 
      
 31 
     | 
    
         
            +
            }
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            .hljs-number,
         
     | 
| 
      
 34 
     | 
    
         
            +
            .hljs-hexcolor,
         
     | 
| 
      
 35 
     | 
    
         
            +
            .hljs-constant {
         
     | 
| 
      
 36 
     | 
    
         
            +
              color: #008080;
         
     | 
| 
      
 37 
     | 
    
         
            +
            }
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
            .hljs-string,
         
     | 
| 
      
 40 
     | 
    
         
            +
            .hljs-tag .hljs-value,
         
     | 
| 
      
 41 
     | 
    
         
            +
            .hljs-doctag,
         
     | 
| 
      
 42 
     | 
    
         
            +
            .tex .hljs-formula {
         
     | 
| 
      
 43 
     | 
    
         
            +
              color: #d14;
         
     | 
| 
      
 44 
     | 
    
         
            +
            }
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
            .hljs-title,
         
     | 
| 
      
 47 
     | 
    
         
            +
            .hljs-id,
         
     | 
| 
      
 48 
     | 
    
         
            +
            .scss .hljs-preprocessor {
         
     | 
| 
      
 49 
     | 
    
         
            +
              color: #900;
         
     | 
| 
      
 50 
     | 
    
         
            +
              font-weight: bold;
         
     | 
| 
      
 51 
     | 
    
         
            +
            }
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
            .hljs-list .hljs-keyword,
         
     | 
| 
      
 54 
     | 
    
         
            +
            .hljs-subst {
         
     | 
| 
      
 55 
     | 
    
         
            +
              font-weight: normal;
         
     | 
| 
      
 56 
     | 
    
         
            +
            }
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
            .hljs-class .hljs-title,
         
     | 
| 
      
 59 
     | 
    
         
            +
            .hljs-type,
         
     | 
| 
      
 60 
     | 
    
         
            +
            .vhdl .hljs-literal,
         
     | 
| 
      
 61 
     | 
    
         
            +
            .tex .hljs-command {
         
     | 
| 
      
 62 
     | 
    
         
            +
              color: #458;
         
     | 
| 
      
 63 
     | 
    
         
            +
              font-weight: bold;
         
     | 
| 
      
 64 
     | 
    
         
            +
            }
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
            .hljs-tag,
         
     | 
| 
      
 67 
     | 
    
         
            +
            .hljs-tag .hljs-title,
         
     | 
| 
      
 68 
     | 
    
         
            +
            .hljs-rule .hljs-property,
         
     | 
| 
      
 69 
     | 
    
         
            +
            .django .hljs-tag .hljs-keyword {
         
     | 
| 
      
 70 
     | 
    
         
            +
              color: #000080;
         
     | 
| 
      
 71 
     | 
    
         
            +
              font-weight: normal;
         
     | 
| 
      
 72 
     | 
    
         
            +
            }
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
            .hljs-attribute,
         
     | 
| 
      
 75 
     | 
    
         
            +
            .hljs-variable,
         
     | 
| 
      
 76 
     | 
    
         
            +
            .lisp .hljs-body,
         
     | 
| 
      
 77 
     | 
    
         
            +
            .hljs-name {
         
     | 
| 
      
 78 
     | 
    
         
            +
              color: #008080;
         
     | 
| 
      
 79 
     | 
    
         
            +
            }
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
            .hljs-regexp {
         
     | 
| 
      
 82 
     | 
    
         
            +
              color: #009926;
         
     | 
| 
      
 83 
     | 
    
         
            +
            }
         
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
      
 85 
     | 
    
         
            +
            .hljs-symbol,
         
     | 
| 
      
 86 
     | 
    
         
            +
            .ruby .hljs-symbol .hljs-string,
         
     | 
| 
      
 87 
     | 
    
         
            +
            .lisp .hljs-keyword,
         
     | 
| 
      
 88 
     | 
    
         
            +
            .clojure .hljs-keyword,
         
     | 
| 
      
 89 
     | 
    
         
            +
            .scheme .hljs-keyword,
         
     | 
| 
      
 90 
     | 
    
         
            +
            .tex .hljs-special,
         
     | 
| 
      
 91 
     | 
    
         
            +
            .hljs-prompt {
         
     | 
| 
      
 92 
     | 
    
         
            +
              color: #990073;
         
     | 
| 
      
 93 
     | 
    
         
            +
            }
         
     | 
| 
      
 94 
     | 
    
         
            +
             
     | 
| 
      
 95 
     | 
    
         
            +
            .hljs-built_in {
         
     | 
| 
      
 96 
     | 
    
         
            +
              color: #0086b3;
         
     | 
| 
      
 97 
     | 
    
         
            +
            }
         
     | 
| 
      
 98 
     | 
    
         
            +
             
     | 
| 
      
 99 
     | 
    
         
            +
            .hljs-preprocessor,
         
     | 
| 
      
 100 
     | 
    
         
            +
            .hljs-pragma,
         
     | 
| 
      
 101 
     | 
    
         
            +
            .hljs-pi,
         
     | 
| 
      
 102 
     | 
    
         
            +
            .hljs-doctype,
         
     | 
| 
      
 103 
     | 
    
         
            +
            .hljs-shebang,
         
     | 
| 
      
 104 
     | 
    
         
            +
            .hljs-cdata {
         
     | 
| 
      
 105 
     | 
    
         
            +
              color: #999;
         
     | 
| 
      
 106 
     | 
    
         
            +
              font-weight: bold;
         
     | 
| 
      
 107 
     | 
    
         
            +
            }
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
            .hljs-deletion {
         
     | 
| 
      
 110 
     | 
    
         
            +
              background: #fdd;
         
     | 
| 
      
 111 
     | 
    
         
            +
            }
         
     | 
| 
      
 112 
     | 
    
         
            +
             
     | 
| 
      
 113 
     | 
    
         
            +
            .hljs-addition {
         
     | 
| 
      
 114 
     | 
    
         
            +
              background: #dfd;
         
     | 
| 
      
 115 
     | 
    
         
            +
            }
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
      
 117 
     | 
    
         
            +
            .diff .hljs-change {
         
     | 
| 
      
 118 
     | 
    
         
            +
              background: #0086b3;
         
     | 
| 
      
 119 
     | 
    
         
            +
            }
         
     | 
| 
      
 120 
     | 
    
         
            +
             
     | 
| 
      
 121 
     | 
    
         
            +
            .hljs-chunk {
         
     | 
| 
      
 122 
     | 
    
         
            +
              color: #aaa;
         
     | 
| 
      
 123 
     | 
    
         
            +
            }
         
     |