yard 0.7.4 → 0.7.5
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.
Potentially problematic release.
This version of yard might be problematic. Click here for more details.
- data/ChangeLog +162 -0
 - data/README.md +20 -3
 - data/docs/Glossary.md +2 -2
 - data/docs/Overview.md +1 -1
 - data/lib/yard.rb +1 -1
 - data/lib/yard/cli/yardoc.rb +1 -0
 - data/lib/yard/code_objects/base.rb +7 -0
 - data/lib/yard/handlers/ruby/legacy/method_handler.rb +3 -1
 - data/lib/yard/handlers/ruby/macro_handler_methods.rb +2 -1
 - data/lib/yard/handlers/ruby/method_handler.rb +3 -1
 - data/lib/yard/parser/c_parser.rb +48 -52
 - data/lib/yard/parser/ruby/ruby_parser.rb +13 -1
 - data/lib/yard/registry_store.rb +1 -1
 - data/lib/yard/server/commands/library_command.rb +2 -1
 - data/lib/yard/server/doc_server_helper.rb +3 -3
 - data/lib/yard/server/doc_server_serializer.rb +9 -9
 - data/lib/yard/server/rack_adapter.rb +1 -0
 - data/lib/yard/server/router.rb +2 -0
 - data/lib/yard/server/templates/doc_server/library_list/html/contents.erb +1 -1
 - data/lib/yard/server/templates/doc_server/search/html/search.erb +1 -2
 - data/lib/yard/server/webrick_adapter.rb +1 -0
 - data/lib/yard/templates/helpers/html_helper.rb +48 -22
 - data/spec/cli/yardoc_spec.rb +17 -0
 - data/spec/code_objects/base_spec.rb +1 -1
 - data/spec/handlers/examples/method_handler_001.rb.txt +4 -0
 - data/spec/handlers/macro_handler_spec.rb +9 -0
 - data/spec/handlers/method_handler_spec.rb +7 -0
 - data/spec/parser/c_parser_spec.rb +134 -9
 - data/spec/parser/ruby/ruby_parser_spec.rb +17 -1
 - data/spec/registry_spec.rb +1 -0
 - data/spec/registry_store_spec.rb +2 -2
 - data/spec/server/doc_server_helper_spec.rb +51 -0
 - data/spec/server/doc_server_serializer_spec.rb +10 -23
 - data/spec/server/rack_adapter_spec.rb +2 -0
 - data/spec/server/router_spec.rb +8 -1
 - data/spec/templates/class_spec.rb +2 -1
 - data/spec/templates/examples/module001.html +1 -1
 - data/spec/templates/examples/module003.html +186 -0
 - data/spec/templates/helpers/html_helper_spec.rb +57 -31
 - data/spec/templates/module_spec.rb +22 -0
 - data/spec/templates/tag_spec.rb +12 -0
 - data/templates/default/fulldoc/html/js/full_list.js +6 -0
 - data/templates/default/module/html/inherited_attributes.erb +6 -9
 - data/templates/default/module/html/inherited_constants.erb +8 -8
 - data/templates/default/module/setup.rb +22 -0
 - data/templates/default/tags/setup.rb +4 -0
 - metadata +4 -2
 
    
        data/ChangeLog
    CHANGED
    
    | 
         @@ -1,3 +1,165 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            2012-01-31  Loren Segal <lsegal@soen.ca>
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
              * ChangeLog, README.md, lib/yard.rb: Bump to 0.7.5
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              * spec/templates/examples/module003.html, spec/templates/module_spec.rb,
         
     | 
| 
      
 6 
     | 
    
         
            +
              .../default/module/html/inherited_constants.erb,
         
     | 
| 
      
 7 
     | 
    
         
            +
              templates/default/module/setup.rb: Don't show inherited constants if
         
     | 
| 
      
 8 
     | 
    
         
            +
              overridden  Backports #474, referencing #467
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
              * lib/yard/server/commands/library_command.rb: Verify markup options when
         
     | 
| 
      
 11 
     | 
    
         
            +
              loading yard opts in server mode  Backports #456, referencing #467
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
              * lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Update tests for
         
     | 
| 
      
 14 
     | 
    
         
            +
              rb_define_const(), capture definitions  Backports #443, referencing #467
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
              * lib/yard/templates/helpers/html_helper.rb: Refactor code block parsing out
         
     | 
| 
      
 17 
     | 
    
         
            +
              of htmlify
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            2012-01-30  Loren Segal <lsegal@soen.ca>
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
              * lib/yard/templates/helpers/html_helper.rb,
         
     | 
| 
      
 22 
     | 
    
         
            +
              spec/templates/helpers/html_helper_spec.rb: Update tests for
         
     | 
| 
      
 23 
     | 
    
         
            +
              html_syntax_highlight and minor refactor  Backports #478, #479, referencing
         
     | 
| 
      
 24 
     | 
    
         
            +
              #467  Conflicts:  lib/yard/templates/helpers/html_helper.rb
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            2012-01-30  Dominik Honnef <dominikh@fork-bomb.org>
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
              * lib/yard/templates/helpers/html_helper.rb: make parse_lang_for_codeblock
         
     | 
| 
      
 29 
     | 
    
         
            +
              return the language as a symbol, not a string
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
              * lib/yard/templates/helpers/html_helper.rb: rename parse_lang to
         
     | 
| 
      
 32 
     | 
    
         
            +
              parse_lang_for_codeblock and mark private
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
              * lib/yard/templates/helpers/html_helper.rb: fix @return tag of
         
     | 
| 
      
 35 
     | 
    
         
            +
              HtmlHelper#parse_lang
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
              * lib/yard/templates/helpers/html_helper.rb: move parsing of !!!LANG up one
         
     | 
| 
      
 38 
     | 
    
         
            +
              level to add lang classes to <pre> tags
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
            2012-01-29  Loren Segal <lsegal@soen.ca>
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
              * lib/yard/cli/yardoc.rb, spec/cli/yardoc_spec.rb: Do not copy asset inside
         
     | 
| 
      
 43 
     | 
    
         
            +
              of to/ if to is directory  Backports #477, referencing #467
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
            2012-01-26  Loren Segal <lsegal@soen.ca>
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
              * lib/yard/handlers/ruby/legacy/method_handler.rb,
         
     | 
| 
      
 48 
     | 
    
         
            +
              lib/yard/handlers/ruby/method_handler.rb: Fix issue #458 for legacy handlers 
         
     | 
| 
      
 49 
     | 
    
         
            +
              Backport to 0.7.x, referencing #467
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
            2012-01-25  Loren Segal <lsegal@soen.ca>
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
              * spec/registry_spec.rb, spec/templates/class_spec.rb: Fix Debian test
         
     | 
| 
      
 54 
     | 
    
         
            +
              failures in 1.9.3  Backports #397, referencing #467
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
            2012-01-21  Loren Segal <lsegal@soen.ca>
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
              * lib/yard/parser/ruby/ruby_parser.rb, spec/parser/ruby/ruby_parser_spec.rb:
         
     | 
| 
      
 59 
     | 
    
         
            +
              Fix %w() source in []/[]= parsed context.  Backports #461, referencing #467
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
              * lib/yard/handlers/ruby/method_handler.rb,
         
     | 
| 
      
 62 
     | 
    
         
            +
              spec/handlers/examples/method_handler_001.rb.txt,
         
     | 
| 
      
 63 
     | 
    
         
            +
              spec/handlers/method_handler_spec.rb: Don't add default @return if a
         
     | 
| 
      
 64 
     | 
    
         
            +
              @overload has @return.  Backports #458, referencing #467
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
              * lib/yard/code_objects/base.rb, spec/code_objects/base_spec.rb: Don't
         
     | 
| 
      
 67 
     | 
    
         
            +
              discard tags by (see ...).  Backports #457 referencing #467
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
            2012-01-19  Loren Segal <lsegal@soen.ca>
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
              * lib/yard/handlers/ruby/macro_handler_methods.rb: Allow processing of macros
         
     | 
| 
      
 72 
     | 
    
         
            +
              attached to Object class (via inheritance)  Backports and closes #465,
         
     | 
| 
      
 73 
     | 
    
         
            +
              referencing #467
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
              * lib/yard/handlers/ruby/macro_handler_methods.rb,
         
     | 
| 
      
 76 
     | 
    
         
            +
              spec/handlers/macro_handler_spec.rb: Do not auto-detect DSL methods as method
         
     | 
| 
      
 77 
     | 
    
         
            +
              objects if parameter name is not a valid method name  Backports and closes
         
     | 
| 
      
 78 
     | 
    
         
            +
              #464, referencing #467
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
              * lib/yard/registry_store.rb, spec/registry_store_spec.rb: Remove heuristics
         
     | 
| 
      
 81 
     | 
    
         
            +
              that disable single object db  Closes #466 referencing #467
         
     | 
| 
      
 82 
     | 
    
         
            +
             
     | 
| 
      
 83 
     | 
    
         
            +
            2012-01-07  Ankur Patel <ankur.patel@ymail.com>
         
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
      
 85 
     | 
    
         
            +
              * templates/default/fulldoc/html/js/full_list.js: Ignoring non-printable
         
     | 
| 
      
 86 
     | 
    
         
            +
              characters in search  Closes #446 referencing #467
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
            2012-01-05  Sergey Avseyev <sergey.avseyev@gmail.com>
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
              * lib/yard/templates/helpers/html_helper.rb,
         
     | 
| 
      
 91 
     | 
    
         
            +
              spec/templates/helpers/html_helper_spec.rb: Do not escape snippets twice 
         
     | 
| 
      
 92 
     | 
    
         
            +
              Markup helpers aleardy done escaping. This is actually partial revert of
         
     | 
| 
      
 93 
     | 
    
         
            +
              414e53424c28129625d743e41b15556f150fe083  Closes #445 referencing #467
         
     | 
| 
      
 94 
     | 
    
         
            +
             
     | 
| 
      
 95 
     | 
    
         
            +
            2012-01-19  Loren Segal <lsegal@soen.ca>
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
      
 97 
     | 
    
         
            +
              * spec/templates/examples/module001.html,
         
     | 
| 
      
 98 
     | 
    
         
            +
              spec/templates/examples/module003.html, spec/templates/module_spec.rb,
         
     | 
| 
      
 99 
     | 
    
         
            +
              .../default/module/html/inherited_attributes.erb,
         
     | 
| 
      
 100 
     | 
    
         
            +
              templates/default/module/setup.rb: Run verifier on inherited attributes list 
         
     | 
| 
      
 101 
     | 
    
         
            +
              Backports #432 referencing #467  Conflicts: 
         
     | 
| 
      
 102 
     | 
    
         
            +
              templates/default/module/html/inherited_attributes.erb
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
            2012-01-02  Loren Segal <lsegal@soen.ca>
         
     | 
| 
      
 105 
     | 
    
         
            +
             
     | 
| 
      
 106 
     | 
    
         
            +
              * lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Add support for
         
     | 
| 
      
 107 
     | 
    
         
            +
              rb_path2class() in CRuby
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
              * lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Properly handle
         
     | 
| 
      
 110 
     | 
    
         
            +
              parsing of nested namespace definitions  Fixes #437
         
     | 
| 
      
 111 
     | 
    
         
            +
             
     | 
| 
      
 112 
     | 
    
         
            +
            2012-01-01  Loren Segal <lsegal@soen.ca>
         
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
      
 114 
     | 
    
         
            +
              * spec/templates/examples/module003.html, spec/templates/module_spec.rb,
         
     | 
| 
      
 115 
     | 
    
         
            +
              .../default/module/html/inherited_attributes.erb: Ignore overwritten
         
     | 
| 
      
 116 
     | 
    
         
            +
              attributes from inherited list  Closes #442
         
     | 
| 
      
 117 
     | 
    
         
            +
             
     | 
| 
      
 118 
     | 
    
         
            +
              * spec/server/rack_adapter_spec.rb: Properly shutdown adapter after rack
         
     | 
| 
      
 119 
     | 
    
         
            +
              middleware specs
         
     | 
| 
      
 120 
     | 
    
         
            +
             
     | 
| 
      
 121 
     | 
    
         
            +
            2011-12-26  Sergey Avseyev <sergey.avseyev@gmail.com>
         
     | 
| 
      
 122 
     | 
    
         
            +
             
     | 
| 
      
 123 
     | 
    
         
            +
              * lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Allow aliases
         
     | 
| 
      
 124 
     | 
    
         
            +
              for attributes
         
     | 
| 
      
 125 
     | 
    
         
            +
             
     | 
| 
      
 126 
     | 
    
         
            +
              * lib/yard/parser/c_parser.rb, spec/parser/c_parser_spec.rb: Fix attribute
         
     | 
| 
      
 127 
     | 
    
         
            +
              parsing  This is the real signature for rb_define_attr(). There is only four
         
     | 
| 
      
 128 
     | 
    
         
            +
              arguments.  void rb_define_attr(VALUE klass, const char *name, int read, int
         
     | 
| 
      
 129 
     | 
    
         
            +
              write)
         
     | 
| 
      
 130 
     | 
    
         
            +
             
     | 
| 
      
 131 
     | 
    
         
            +
            2011-12-19  Loren Segal <lsegal@soen.ca>
         
     | 
| 
      
 132 
     | 
    
         
            +
             
     | 
| 
      
 133 
     | 
    
         
            +
              * spec/templates/tag_spec.rb, templates/default/tags/setup.rb: Don't render
         
     | 
| 
      
 134 
     | 
    
         
            +
              param tags on non-method objects  Closes #429
         
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
            2011-12-11  Loren Segal <lsegal@soen.ca>
         
     | 
| 
      
 137 
     | 
    
         
            +
             
     | 
| 
      
 138 
     | 
    
         
            +
              * lib/yard/server/commands/library_command.rb,
         
     | 
| 
      
 139 
     | 
    
         
            +
              lib/yard/server/doc_server_helper.rb,
         
     | 
| 
      
 140 
     | 
    
         
            +
              lib/yard/server/doc_server_serializer.rb, lib/yard/server/rack_adapter.rb,
         
     | 
| 
      
 141 
     | 
    
         
            +
              lib/yard/server/router.rb, .../doc_server/library_list/html/contents.erb,
         
     | 
| 
      
 142 
     | 
    
         
            +
              .../templates/doc_server/search/html/search.erb,
         
     | 
| 
      
 143 
     | 
    
         
            +
              lib/yard/server/webrick_adapter.rb, spec/server/doc_server_helper_spec.rb,
         
     | 
| 
      
 144 
     | 
    
         
            +
              spec/server/doc_server_serializer_spec.rb, spec/server/router_spec.rb: Only
         
     | 
| 
      
 145 
     | 
    
         
            +
              add /version/ to URLs accessed with /version/  Adds request.version_supplied
         
     | 
| 
      
 146 
     | 
    
         
            +
              to detect whether the version was parsed out of the URL. Rewrote some of the
         
     | 
| 
      
 147 
     | 
    
         
            +
              URL helpers and serializers to respect this new behaviour.  The biggest
         
     | 
| 
      
 148 
     | 
    
         
            +
              change is that the DocServerSerializer will no longer add the /prefix to the
         
     | 
| 
      
 149 
     | 
    
         
            +
              serialized_path, and it will now ignore the command passed in to the
         
     | 
| 
      
 150 
     | 
    
         
            +
              constructor (which is now optional). Instead, DocServerHelper#url_for should
         
     | 
| 
      
 151 
     | 
    
         
            +
              be used to generate a URL with a prefix.  Closes #426
         
     | 
| 
      
 152 
     | 
    
         
            +
             
     | 
| 
      
 153 
     | 
    
         
            +
            2011-12-04  Loren Segal <lsegal@soen.ca>
         
     | 
| 
      
 154 
     | 
    
         
            +
             
     | 
| 
      
 155 
     | 
    
         
            +
              * lib/yard/templates/helpers/html_helper.rb,
         
     | 
| 
      
 156 
     | 
    
         
            +
              spec/templates/helpers/html_helper_spec.rb: Be more forgiving about generated
         
     | 
| 
      
 157 
     | 
    
         
            +
              HTML for code blocks
         
     | 
| 
      
 158 
     | 
    
         
            +
             
     | 
| 
      
 159 
     | 
    
         
            +
            2011-12-05  yuta yamada <yamada@clear-code.com>
         
     | 
| 
      
 160 
     | 
    
         
            +
             
     | 
| 
      
 161 
     | 
    
         
            +
              * docs/Glossary.md, docs/Overview.md: fix-typo
         
     | 
| 
      
 162 
     | 
    
         
            +
             
     | 
| 
       1 
163 
     | 
    
         
             
            2011-12-03  Loren Segal <lsegal@soen.ca>
         
     | 
| 
       2 
164 
     | 
    
         | 
| 
       3 
165 
     | 
    
         
             
              * ChangeLog, README.md, docs/WhatsNew.md, lib/yard.rb: Bump to version 0.7.4
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -6,10 +6,10 @@ YARD: Yay! A Ruby Documentation Tool 
     | 
|
| 
       6 
6 
     | 
    
         
             
            **Git**:          [http://github.com/lsegal/yard](http://github.com/lsegal/yard)   
         
     | 
| 
       7 
7 
     | 
    
         
             
            **Author**:       Loren Segal  
         
     | 
| 
       8 
8 
     | 
    
         
             
            **Contributors**: See Contributors section below    
         
     | 
| 
       9 
     | 
    
         
            -
            **Copyright**:    2007- 
     | 
| 
      
 9 
     | 
    
         
            +
            **Copyright**:    2007-2012    
         
     | 
| 
       10 
10 
     | 
    
         
             
            **License**:      MIT License    
         
     | 
| 
       11 
     | 
    
         
            -
            **Latest Version**: 0.7. 
     | 
| 
       12 
     | 
    
         
            -
            **Release Date**:  
     | 
| 
      
 11 
     | 
    
         
            +
            **Latest Version**: 0.7.5 (codename "Jackson")    
         
     | 
| 
      
 12 
     | 
    
         
            +
            **Release Date**: January 31st 2012    
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
            Synopsis
         
     | 
| 
       15 
15 
     | 
    
         
             
            --------
         
     | 
| 
         @@ -289,6 +289,23 @@ More options can be seen by typing `yard-graph --help`, but here is an example: 
     | 
|
| 
       289 
289 
     | 
    
         
             
            Changelog
         
     | 
| 
       290 
290 
     | 
    
         
             
            ---------
         
     | 
| 
       291 
291 
     | 
    
         | 
| 
      
 292 
     | 
    
         
            +
            - **January.31.12**: 0.7.5 release
         
     | 
| 
      
 293 
     | 
    
         
            +
                - Mostly bugfix release (backports from 0.8.0 branch, full list in #467)
         
     | 
| 
      
 294 
     | 
    
         
            +
                - Don't show inherited attributes if overridden (#432)
         
     | 
| 
      
 295 
     | 
    
         
            +
                - Capture definitions in `/* definition: docstring */` format in C Ruby (#443)
         
     | 
| 
      
 296 
     | 
    
         
            +
                - Do not escape highlighted code blocks twice (#445)
         
     | 
| 
      
 297 
     | 
    
         
            +
                - Ignore non-printable characters in search autocomplete (#446)
         
     | 
| 
      
 298 
     | 
    
         
            +
                - Verify markup options when loading .yardopts file in server mode (#456)
         
     | 
| 
      
 299 
     | 
    
         
            +
                - Don't discard tags in (see ...) references (#457)
         
     | 
| 
      
 300 
     | 
    
         
            +
                - Don't add @return to methods ending in '?' if has @overload (#458)
         
     | 
| 
      
 301 
     | 
    
         
            +
                - Fix listing of source for %w() blocks with arrays (#461)
         
     | 
| 
      
 302 
     | 
    
         
            +
                - Do not detect invalid method names as DSL methods (#464)
         
     | 
| 
      
 303 
     | 
    
         
            +
                - Allow processing of macros attached to Object class (#465)
         
     | 
| 
      
 304 
     | 
    
         
            +
                - Multi-object db is only enabled via switch (#466)
         
     | 
| 
      
 305 
     | 
    
         
            +
                - Ignore inherited constants if overridden (#474)
         
     | 
| 
      
 306 
     | 
    
         
            +
                - Do not copy asset inside dest directory if source is directory (#477)
         
     | 
| 
      
 307 
     | 
    
         
            +
                - Set pre className when !!!lang is used to denote highlight language (#478, #479)
         
     | 
| 
      
 308 
     | 
    
         
            +
             
     | 
| 
       292 
309 
     | 
    
         
             
            - **December.2.11**: 0.7.4 release
         
     | 
| 
       293 
310 
     | 
    
         
             
                - Redcarpet is now the default Markdown formatting library. GFM now works out-of-box (#404)
         
     | 
| 
       294 
311 
     | 
    
         
             
                - Fix server side searching for elements that are marked private (#420)
         
     | 
    
        data/docs/Glossary.md
    CHANGED
    
    | 
         @@ -5,8 +5,8 @@ 
     | 
|
| 
       5 
5 
     | 
    
         
             
              and class variables, though it can be extended to refer to custom functionality
         
     | 
| 
       6 
6 
     | 
    
         
             
              defined by a DSL (like a spec, for instance).
         
     | 
| 
       7 
7 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
            * **Domain Specific Language (DSL)**: In the context of Ruby, a DSL is a  
     | 
| 
      
 8 
     | 
    
         
            +
            * **Domain Specific Language (DSL)**: In the context of Ruby, a DSL is a language
         
     | 
| 
       9 
9 
     | 
    
         
             
              optimized for a specific domain (problem) but represented using Ruby syntax.
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
11 
     | 
    
         
             
            * **Docstring (Documentation String)**: Comments associated with a code object
         
     | 
| 
       12 
     | 
    
         
            -
              used for documentation purposes.
         
     | 
| 
      
 12 
     | 
    
         
            +
              used for documentation purposes.
         
     | 
    
        data/docs/Overview.md
    CHANGED
    
    | 
         @@ -14,7 +14,7 @@ that tools like RDoc do not do. These components are: 
     | 
|
| 
       14 
14 
     | 
    
         
             
            This separation is a major goal of the project, and means that YARD is not *just* 
         
     | 
| 
       15 
15 
     | 
    
         
             
            a tool to generate HTML output. The expectation is that any subset of YARD's 
         
     | 
| 
       16 
16 
     | 
    
         
             
            major components may be used, extended or modified independently. YARD may be 
         
     | 
| 
       17 
     | 
    
         
            -
            used just as a data gathering tool (to parse and audit code), just as  
     | 
| 
      
 17 
     | 
    
         
            +
            used just as a data gathering tool (to parse and audit code), just as a data 
         
     | 
| 
       18 
18 
     | 
    
         
             
            source (a webserver containing raw unformatted data about code), or just as a 
         
     | 
| 
       19 
19 
     | 
    
         
             
            conventional HTML documentation generation tool (like RDoc).
         
     | 
| 
       20 
20 
     | 
    
         | 
    
        data/lib/yard.rb
    CHANGED
    
    
    
        data/lib/yard/cli/yardoc.rb
    CHANGED
    
    
| 
         @@ -217,6 +217,8 @@ module YARD 
     | 
|
| 
       217 
217 
     | 
    
         
             
                    @visibility = :public
         
     | 
| 
       218 
218 
     | 
    
         
             
                    @tags = []
         
     | 
| 
       219 
219 
     | 
    
         
             
                    @docstring = Docstring.new('', self)
         
     | 
| 
      
 220 
     | 
    
         
            +
                    @docstring_extra = nil
         
     | 
| 
      
 221 
     | 
    
         
            +
                    @docstring_extra_tags = nil
         
     | 
| 
       220 
222 
     | 
    
         
             
                    @namespace = nil
         
     | 
| 
       221 
223 
     | 
    
         
             
                    self.namespace = namespace
         
     | 
| 
       222 
224 
     | 
    
         
             
                    yield(self) if block_given?
         
     | 
| 
         @@ -353,7 +355,9 @@ module YARD 
     | 
|
| 
       353 
355 
     | 
    
         
             
                      return @docstring_extra
         
     | 
| 
       354 
356 
     | 
    
         
             
                    when Base
         
     | 
| 
       355 
357 
     | 
    
         
             
                      @docstring = @docstring.docstring + @docstring_extra
         
     | 
| 
      
 358 
     | 
    
         
            +
                      @docstring.add_tag(*@docstring_extra_tags)
         
     | 
| 
       356 
359 
     | 
    
         
             
                      @docstring_extra = nil
         
     | 
| 
      
 360 
     | 
    
         
            +
                      @docstring_extra_tags = nil
         
     | 
| 
       357 
361 
     | 
    
         
             
                    end
         
     | 
| 
       358 
362 
     | 
    
         
             
                    @docstring
         
     | 
| 
       359 
363 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -368,9 +372,12 @@ module YARD 
     | 
|
| 
       368 
372 
     | 
    
         
             
                    if comments =~ /\A\s*\(see (\S+)\s*\)(?:\s|$)/
         
     | 
| 
       369 
373 
     | 
    
         
             
                      path, extra = $1, $'
         
     | 
| 
       370 
374 
     | 
    
         
             
                      @docstring_extra = Docstring.new(extra, self)
         
     | 
| 
      
 375 
     | 
    
         
            +
                      @docstring_extra_tags = Docstring === comments ? comments.tags : []
         
     | 
| 
      
 376 
     | 
    
         
            +
                      @docstring_extra.add_tag(*@docstring_extra_tags)
         
     | 
| 
       371 
377 
     | 
    
         
             
                      @docstring = Proxy.new(namespace, path)
         
     | 
| 
       372 
378 
     | 
    
         
             
                    else
         
     | 
| 
       373 
379 
     | 
    
         
             
                      @docstring_extra = nil
         
     | 
| 
      
 380 
     | 
    
         
            +
                      @docstring_extra_tags = nil
         
     | 
| 
       374 
381 
     | 
    
         
             
                      @docstring = Docstring === comments ? comments : Docstring.new(comments, self)
         
     | 
| 
       375 
382 
     | 
    
         
             
                    end
         
     | 
| 
       376 
383 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -50,7 +50,9 @@ class YARD::Handlers::Ruby::Legacy::MethodHandler < YARD::Handlers::Ruby::Legacy 
     | 
|
| 
       50 
50 
     | 
    
         
             
                  if obj.tag(:return) && (obj.tag(:return).types || []).empty?
         
     | 
| 
       51 
51 
     | 
    
         
             
                    obj.tag(:return).types = ['Boolean']
         
     | 
| 
       52 
52 
     | 
    
         
             
                  elsif obj.tag(:return).nil?
         
     | 
| 
       53 
     | 
    
         
            -
                    obj. 
     | 
| 
      
 53 
     | 
    
         
            +
                    unless obj.tags(:overload).any? {|overload| overload.tag(:return) }
         
     | 
| 
      
 54 
     | 
    
         
            +
                      obj.docstring.add_tag(YARD::Tags::Tag.new(:return, "", "Boolean"))
         
     | 
| 
      
 55 
     | 
    
         
            +
                    end
         
     | 
| 
       54 
56 
     | 
    
         
             
                  end
         
     | 
| 
       55 
57 
     | 
    
         
             
                end
         
     | 
| 
       56 
58 
     | 
    
         | 
| 
         @@ -11,7 +11,7 @@ module YARD 
     | 
|
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
                      # Look for implicit macros
         
     | 
| 
       13 
13 
     | 
    
         
             
                      (globals.__attached_macros[caller_method] || []).each do |macro|
         
     | 
| 
       14 
     | 
    
         
            -
                        namespace.inheritance_tree.each do |obj|
         
     | 
| 
      
 14 
     | 
    
         
            +
                        (namespace.inheritance_tree + [P('Object')]).each do |obj|
         
     | 
| 
       15 
15 
     | 
    
         
             
                          break(@macro = macro) if obj == macro.method_object.namespace
         
     | 
| 
       16 
16 
     | 
    
         
             
                        end
         
     | 
| 
       17 
17 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -82,6 +82,7 @@ module YARD 
     | 
|
| 
       82 
82 
     | 
    
         
             
                      name = nil if name =~ /\A\s*\Z/
         
     | 
| 
       83 
83 
     | 
    
         
             
                      name ||= call_params.first
         
     | 
| 
       84 
84 
     | 
    
         
             
                      return unless name
         
     | 
| 
      
 85 
     | 
    
         
            +
                      return unless name =~ /^#{METHODNAMEMATCH}(\s|\(|$)/
         
     | 
| 
       85 
86 
     | 
    
         
             
                      if name =~ /\A\s*([^\(; \t]+)/
         
     | 
| 
       86 
87 
     | 
    
         
             
                        name = $1
         
     | 
| 
       87 
88 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -47,7 +47,9 @@ class YARD::Handlers::Ruby::MethodHandler < YARD::Handlers::Ruby::Base 
     | 
|
| 
       47 
47 
     | 
    
         
             
                  if obj.tag(:return) && (obj.tag(:return).types || []).empty?
         
     | 
| 
       48 
48 
     | 
    
         
             
                    obj.tag(:return).types = ['Boolean']
         
     | 
| 
       49 
49 
     | 
    
         
             
                  elsif obj.tag(:return).nil?
         
     | 
| 
       50 
     | 
    
         
            -
                    obj. 
     | 
| 
      
 50 
     | 
    
         
            +
                    unless obj.tags(:overload).any? {|overload| overload.tag(:return) }
         
     | 
| 
      
 51 
     | 
    
         
            +
                      obj.docstring.add_tag(YARD::Tags::Tag.new(:return, "", "Boolean"))
         
     | 
| 
      
 52 
     | 
    
         
            +
                    end
         
     | 
| 
       51 
53 
     | 
    
         
             
                  end
         
     | 
| 
       52 
54 
     | 
    
         
             
                end
         
     | 
| 
       53 
55 
     | 
    
         | 
    
        data/lib/yard/parser/c_parser.rb
    CHANGED
    
    | 
         @@ -12,11 +12,10 @@ module YARD 
     | 
|
| 
       12 
12 
     | 
    
         
             
                  end
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
                  def parse
         
     | 
| 
       15 
     | 
    
         
            -
                     
     | 
| 
       16 
     | 
    
         
            -
                    parse_classes
         
     | 
| 
      
 15 
     | 
    
         
            +
                    parse_namespaces
         
     | 
| 
       17 
16 
     | 
    
         
             
                    parse_methods
         
     | 
| 
       18 
     | 
    
         
            -
                    parse_aliases
         
     | 
| 
       19 
17 
     | 
    
         
             
                    parse_attributes
         
     | 
| 
      
 18 
     | 
    
         
            +
                    parse_aliases
         
     | 
| 
       20 
19 
     | 
    
         
             
                    parse_constants
         
     | 
| 
       21 
20 
     | 
    
         
             
                    parse_includes
         
     | 
| 
       22 
21 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -32,6 +31,11 @@ module YARD 
     | 
|
| 
       32 
31 
     | 
    
         
             
                  def remove_var_prefix(var)
         
     | 
| 
       33 
32 
     | 
    
         
             
                    var.gsub(/^rb_[mc]|^[a-z_]+/, '')
         
     | 
| 
       34 
33 
     | 
    
         
             
                  end
         
     | 
| 
      
 34 
     | 
    
         
            +
                  
         
     | 
| 
      
 35 
     | 
    
         
            +
                  # @since 0.7.5
         
     | 
| 
      
 36 
     | 
    
         
            +
                  def lookup_var(var)
         
     | 
| 
      
 37 
     | 
    
         
            +
                    @namespaces[var] || P(remove_var_prefix(var))
         
     | 
| 
      
 38 
     | 
    
         
            +
                  end
         
     | 
| 
       35 
39 
     | 
    
         | 
| 
       36 
40 
     | 
    
         
             
                  def ensure_loaded!(object, max_retries = 1)
         
     | 
| 
       37 
41 
     | 
    
         
             
                    return if object.is_a?(CodeObjects::RootObject)
         
     | 
| 
         @@ -52,9 +56,18 @@ module YARD 
     | 
|
| 
       52 
56 
     | 
    
         
             
                    end
         
     | 
| 
       53 
57 
     | 
    
         
             
                    object
         
     | 
| 
       54 
58 
     | 
    
         
             
                  end
         
     | 
| 
      
 59 
     | 
    
         
            +
                  
         
     | 
| 
      
 60 
     | 
    
         
            +
                  # @since 0.7.5
         
     | 
| 
      
 61 
     | 
    
         
            +
                  def handle_namespace(var_name, ns_type, ns_name, parent, in_module = nil)
         
     | 
| 
      
 62 
     | 
    
         
            +
                    case ns_type
         
     | 
| 
      
 63 
     | 
    
         
            +
                    when 'module'; handle_module(var_name, ns_name, in_module)
         
     | 
| 
      
 64 
     | 
    
         
            +
                    when 'path2class'; handle_class_lookup(var_name, ns_name)
         
     | 
| 
      
 65 
     | 
    
         
            +
                    else handle_class(var_name, ns_name, parent, in_module)
         
     | 
| 
      
 66 
     | 
    
         
            +
                    end
         
     | 
| 
      
 67 
     | 
    
         
            +
                  end
         
     | 
| 
       55 
68 
     | 
    
         | 
| 
       56 
69 
     | 
    
         
             
                  def handle_module(var_name, mod_name, in_module = nil)
         
     | 
| 
       57 
     | 
    
         
            -
                    namespace =  
     | 
| 
      
 70 
     | 
    
         
            +
                    namespace = in_module ? lookup_var(in_module) : :root
         
     | 
| 
       58 
71 
     | 
    
         
             
                    ensure_loaded!(namespace)
         
     | 
| 
       59 
72 
     | 
    
         
             
                    obj = CodeObjects::ModuleObject.new(namespace, mod_name)
         
     | 
| 
       60 
73 
     | 
    
         
             
                    obj.add_file(@file)
         
     | 
| 
         @@ -64,14 +77,19 @@ module YARD 
     | 
|
| 
       64 
77 
     | 
    
         | 
| 
       65 
78 
     | 
    
         
             
                  def handle_class(var_name, class_name, parent, in_module = nil)
         
     | 
| 
       66 
79 
     | 
    
         
             
                    parent = nil if parent == "0"
         
     | 
| 
       67 
     | 
    
         
            -
                    namespace =  
     | 
| 
      
 80 
     | 
    
         
            +
                    namespace = in_module ? lookup_var(in_module) : :root
         
     | 
| 
       68 
81 
     | 
    
         
             
                    ensure_loaded!(namespace)
         
     | 
| 
       69 
82 
     | 
    
         
             
                    obj = CodeObjects::ClassObject.new(namespace, class_name)
         
     | 
| 
       70 
     | 
    
         
            -
                    obj.superclass =  
     | 
| 
      
 83 
     | 
    
         
            +
                    obj.superclass = lookup_var(parent) if parent
         
     | 
| 
       71 
84 
     | 
    
         
             
                    obj.add_file(@file)
         
     | 
| 
       72 
85 
     | 
    
         
             
                    find_namespace_docstring(obj)
         
     | 
| 
       73 
86 
     | 
    
         
             
                    @namespaces[var_name] = obj
         
     | 
| 
       74 
87 
     | 
    
         
             
                  end
         
     | 
| 
      
 88 
     | 
    
         
            +
                  
         
     | 
| 
      
 89 
     | 
    
         
            +
                  # @since 0.7.5
         
     | 
| 
      
 90 
     | 
    
         
            +
                  def handle_class_lookup(var_name, class_name)
         
     | 
| 
      
 91 
     | 
    
         
            +
                    @namespaces[var_name] = P(class_name)
         
     | 
| 
      
 92 
     | 
    
         
            +
                  end
         
     | 
| 
       75 
93 
     | 
    
         | 
| 
       76 
94 
     | 
    
         
             
                  # @return [CodeObjects::Base]
         
     | 
| 
       77 
95 
     | 
    
         
             
                  def handle_method(scope, var_name, name, func_name, source_file = nil)
         
     | 
| 
         @@ -80,7 +98,7 @@ module YARD 
     | 
|
| 
       80 
98 
     | 
    
         
             
                    else; scope = :instance
         
     | 
| 
       81 
99 
     | 
    
         
             
                    end
         
     | 
| 
       82 
100 
     | 
    
         | 
| 
       83 
     | 
    
         
            -
                    namespace =  
     | 
| 
      
 101 
     | 
    
         
            +
                    namespace = lookup_var(var_name)
         
     | 
| 
       84 
102 
     | 
    
         
             
                    ensure_loaded!(namespace)
         
     | 
| 
       85 
103 
     | 
    
         
             
                    obj = CodeObjects::MethodObject.new(namespace, name, scope)
         
     | 
| 
       86 
104 
     | 
    
         
             
                    obj.add_file(@file)
         
     | 
| 
         @@ -102,7 +120,7 @@ module YARD 
     | 
|
| 
       102 
120 
     | 
    
         
             
                  end
         
     | 
| 
       103 
121 
     | 
    
         | 
| 
       104 
122 
     | 
    
         
             
                  def handle_alias(var_name, new_name, old_name)
         
     | 
| 
       105 
     | 
    
         
            -
                    namespace =  
     | 
| 
      
 123 
     | 
    
         
            +
                    namespace = lookup_var(var_name)
         
     | 
| 
       106 
124 
     | 
    
         
             
                    ensure_loaded!(namespace)
         
     | 
| 
       107 
125 
     | 
    
         
             
                    new_meth, old_meth = new_name.to_sym, old_name.to_sym
         
     | 
| 
       108 
126 
     | 
    
         
             
                    old_obj = namespace.child(:name => old_meth, :scope => :instance)
         
     | 
| 
         @@ -124,12 +142,12 @@ module YARD 
     | 
|
| 
       124 
142 
     | 
    
         | 
| 
       125 
143 
     | 
    
         
             
                    namespace.aliases[new_obj] = old_meth
         
     | 
| 
       126 
144 
     | 
    
         
             
                  end
         
     | 
| 
       127 
     | 
    
         
            -
             
     | 
| 
       128 
     | 
    
         
            -
                  def handle_attribute(var_name, name,  
     | 
| 
      
 145 
     | 
    
         
            +
             
     | 
| 
      
 146 
     | 
    
         
            +
                  def handle_attribute(var_name, name, read, write, source_file = nil)
         
     | 
| 
       129 
147 
     | 
    
         
             
                    values = {:read => read.to_i, :write => write.to_i}
         
     | 
| 
       130 
148 
     | 
    
         
             
                    {:read => name, :write => "#{name}="}.each do |type, meth_name|
         
     | 
| 
       131 
149 
     | 
    
         
             
                      next unless values[type] > 0
         
     | 
| 
       132 
     | 
    
         
            -
                      obj = handle_method(:instance, var_name, meth_name,  
     | 
| 
      
 150 
     | 
    
         
            +
                      obj = handle_method(:instance, var_name, meth_name, nil, source_file)
         
     | 
| 
       133 
151 
     | 
    
         
             
                      ensure_loaded!(obj.namespace)
         
     | 
| 
       134 
152 
     | 
    
         
             
                      obj.namespace.attributes[:instance][name] ||= SymbolHash[:read => nil, :write => nil]
         
     | 
| 
       135 
153 
     | 
    
         
             
                      obj.namespace.attributes[:instance][name][type] = obj
         
     | 
| 
         @@ -137,7 +155,8 @@ module YARD 
     | 
|
| 
       137 
155 
     | 
    
         
             
                  end
         
     | 
| 
       138 
156 
     | 
    
         | 
| 
       139 
157 
     | 
    
         
             
                  def handle_constants(type, var_name, const_name, definition)
         
     | 
| 
       140 
     | 
    
         
            -
                    namespace =  
     | 
| 
      
 158 
     | 
    
         
            +
                    namespace = lookup_var(var_name)
         
     | 
| 
      
 159 
     | 
    
         
            +
                    ensure_loaded!(namespace)
         
     | 
| 
       141 
160 
     | 
    
         
             
                    obj = CodeObjects::ConstantObject.new(namespace, const_name)
         
     | 
| 
       142 
161 
     | 
    
         
             
                    obj.value = definition
         
     | 
| 
       143 
162 
     | 
    
         
             
                    obj.add_file(@file)
         
     | 
| 
         @@ -148,16 +167,10 @@ module YARD 
     | 
|
| 
       148 
167 
     | 
    
         
             
                    # "/* definition: comment */" form.  The literal ':' and '\' characters
         
     | 
| 
       149 
168 
     | 
    
         
             
                    # can be escaped with a backslash.
         
     | 
| 
       150 
169 
     | 
    
         
             
                    if type.downcase == 'const'
         
     | 
| 
       151 
     | 
    
         
            -
                       
     | 
| 
       152 
     | 
    
         
            -
             
     | 
| 
       153 
     | 
    
         
            -
             
     | 
| 
       154 
     | 
    
         
            -
                        new_definition = definition
         
     | 
| 
       155 
     | 
    
         
            -
                      else
         
     | 
| 
       156 
     | 
    
         
            -
                        new_definition.gsub!("\:", ":")
         
     | 
| 
       157 
     | 
    
         
            -
                        new_definition.gsub!("\\", '\\')
         
     | 
| 
      
 170 
     | 
    
         
            +
                      comment.scan(/\A\s*(.*?[^\s\\]):\s*(.+)/) do |new_value, new_comment|
         
     | 
| 
      
 171 
     | 
    
         
            +
                        obj.value = new_value.gsub(/\\:/, ':')
         
     | 
| 
      
 172 
     | 
    
         
            +
                        comment = new_comment
         
     | 
| 
       158 
173 
     | 
    
         
             
                      end
         
     | 
| 
       159 
     | 
    
         
            -
                      new_definition.sub!(/\A(\s+)/, '')
         
     | 
| 
       160 
     | 
    
         
            -
                      comment = $1.nil? ? elements.last : "#{$1}#{elements.last.lstrip}"
         
     | 
| 
       161 
174 
     | 
    
         
             
                    end
         
     | 
| 
       162 
175 
     | 
    
         | 
| 
       163 
176 
     | 
    
         
             
                    obj.docstring = comment
         
     | 
| 
         @@ -335,38 +348,23 @@ module YARD 
     | 
|
| 
       335 
348 
     | 
    
         
             
                    end
         
     | 
| 
       336 
349 
     | 
    
         
             
                  end
         
     | 
| 
       337 
350 
     | 
    
         | 
| 
       338 
     | 
    
         
            -
                  def  
     | 
| 
       339 
     | 
    
         
            -
                    @content.scan(/(\w+)\s* = \s*rb_define_module\s*
         
     | 
| 
       340 
     | 
    
         
            -
                        \(\s*"(\w+)"\s*\)/mx) do |var_name, class_name|
         
     | 
| 
       341 
     | 
    
         
            -
                      handle_module(var_name, class_name)
         
     | 
| 
       342 
     | 
    
         
            -
                    end
         
     | 
| 
       343 
     | 
    
         
            -
             
     | 
| 
       344 
     | 
    
         
            -
                    @content.scan(/(\w+)\s* = \s*rb_define_module_under\s*
         
     | 
| 
       345 
     | 
    
         
            -
                              \(
         
     | 
| 
       346 
     | 
    
         
            -
                                 \s*(\w+),
         
     | 
| 
       347 
     | 
    
         
            -
                                 \s*"(\w+)"
         
     | 
| 
       348 
     | 
    
         
            -
                              \s*\)/mx) do |var_name, in_module, class_name|
         
     | 
| 
       349 
     | 
    
         
            -
                      handle_module(var_name, class_name, in_module)
         
     | 
| 
       350 
     | 
    
         
            -
                    end
         
     | 
| 
       351 
     | 
    
         
            -
                  end
         
     | 
| 
       352 
     | 
    
         
            -
             
     | 
| 
       353 
     | 
    
         
            -
                  def parse_classes
         
     | 
| 
      
 351 
     | 
    
         
            +
                  def parse_namespaces
         
     | 
| 
       354 
352 
     | 
    
         
             
                    # The '.' lets us handle SWIG-generated files
         
     | 
| 
       355 
     | 
    
         
            -
                    @content.scan(/([\w\.]+)\s* = \s*(?: 
     | 
| 
      
 353 
     | 
    
         
            +
                    @content.scan(/([\w\.]+)\s* = \s*(?:rb_define_(class|module)|boot_defclass|rb_(path2class))\s*
         
     | 
| 
       356 
354 
     | 
    
         
             
                              \(
         
     | 
| 
       357 
     | 
    
         
            -
                                 \s*"(\w+)" 
     | 
| 
       358 
     | 
    
         
            -
                                 \s*(\w+|0)\s*
         
     | 
| 
       359 
     | 
    
         
            -
                              \)/mx) do |var_name,  
     | 
| 
       360 
     | 
    
         
            -
                       
     | 
| 
      
 355 
     | 
    
         
            +
                                 \s*"([\w:]+)"(?:,
         
     | 
| 
      
 356 
     | 
    
         
            +
                                 \s*(\w+|0)\s*)?
         
     | 
| 
      
 357 
     | 
    
         
            +
                              \)/mx) do |var_name, ns_type, path2class, ns_name, parent|
         
     | 
| 
      
 358 
     | 
    
         
            +
                      handle_namespace(var_name, path2class || ns_type, ns_name, parent)
         
     | 
| 
       361 
359 
     | 
    
         
             
                    end
         
     | 
| 
       362 
360 
     | 
    
         | 
| 
       363 
     | 
    
         
            -
                    @content.scan(/([\w\.]+)\s* = \s* 
     | 
| 
      
 361 
     | 
    
         
            +
                    @content.scan(/([\w\.]+)\s* = \s*rb_define_(class|module)_under\s*
         
     | 
| 
       364 
362 
     | 
    
         
             
                              \(
         
     | 
| 
       365 
363 
     | 
    
         
             
                                 \s*(\w+),
         
     | 
| 
       366 
     | 
    
         
            -
                                 \s*"(\w+)" 
     | 
| 
       367 
     | 
    
         
            -
                                 \s*([\w\*\s\(\)\.\->]+)\s*  # for SWIG
         
     | 
| 
       368 
     | 
    
         
            -
                              \s*\)/mx) do |var_name, in_module,  
     | 
| 
       369 
     | 
    
         
            -
                       
     | 
| 
      
 364 
     | 
    
         
            +
                                 \s*"(\w+)"(?:,
         
     | 
| 
      
 365 
     | 
    
         
            +
                                 \s*([\w\*\s\(\)\.\->]+)\s*)?  # for SWIG
         
     | 
| 
      
 366 
     | 
    
         
            +
                              \s*\)/mx) do |var_name, ns_type, in_module, ns_name, parent|
         
     | 
| 
      
 367 
     | 
    
         
            +
                      handle_namespace(var_name, ns_type, ns_name, parent, in_module)
         
     | 
| 
       370 
368 
     | 
    
         
             
                    end
         
     | 
| 
       371 
369 
     | 
    
         
             
                  end
         
     | 
| 
       372 
370 
     | 
    
         | 
| 
         @@ -420,10 +418,9 @@ module YARD 
     | 
|
| 
       420 
418 
     | 
    
         
             
                    @content.scan(%r{rb_define_attr
         
     | 
| 
       421 
419 
     | 
    
         
             
                                   \s*\(\s*([\w\.]+),
         
     | 
| 
       422 
420 
     | 
    
         
             
                                     \s*"([^"]+)",
         
     | 
| 
       423 
     | 
    
         
            -
                                     \s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\()?(\w+)\)?,
         
     | 
| 
       424 
421 
     | 
    
         
             
                                     \s*(0|1)\s*,\s*(0|1)\s*\)
         
     | 
| 
       425 
422 
     | 
    
         
             
                                   (?:;\s*/[*/]\s+in\s+(.+?\.[cy]))?
         
     | 
| 
       426 
     | 
    
         
            -
                                 }xm) do |var_name, name,  
     | 
| 
      
 423 
     | 
    
         
            +
                                 }xm) do |var_name, name, read, write, source_file|
         
     | 
| 
       427 
424 
     | 
    
         | 
| 
       428 
425 
     | 
    
         
             
                      # Ignore top-object and weird struct.c dynamic stuff
         
     | 
| 
       429 
426 
     | 
    
         
             
                      next if var_name == "ruby_top_self"
         
     | 
| 
         @@ -431,15 +428,14 @@ module YARD 
     | 
|
| 
       431 
428 
     | 
    
         
             
                      next if var_name == "envtbl"
         
     | 
| 
       432 
429 
     | 
    
         | 
| 
       433 
430 
     | 
    
         
             
                      var_name = "rb_cObject" if var_name == "rb_mKernel"
         
     | 
| 
       434 
     | 
    
         
            -
                      handle_attribute(var_name, name,  
     | 
| 
      
 431 
     | 
    
         
            +
                      handle_attribute(var_name, name, read, write, source_file)
         
     | 
| 
       435 
432 
     | 
    
         
             
                    end
         
     | 
| 
       436 
433 
     | 
    
         
             
                  end
         
     | 
| 
       437 
434 
     | 
    
         | 
| 
       438 
435 
     | 
    
         
             
                  def parse_includes
         
     | 
| 
       439 
436 
     | 
    
         
             
                    @content.scan(/rb_include_module\s*\(\s*(\w+?),\s*(\w+?)\s*\)/) do |klass, mod|
         
     | 
| 
       440 
437 
     | 
    
         
             
                      if klass = @namespaces[klass]
         
     | 
| 
       441 
     | 
    
         
            -
                         
     | 
| 
       442 
     | 
    
         
            -
                        klass.mixins(:instance) << mod
         
     | 
| 
      
 438 
     | 
    
         
            +
                        klass.mixins(:instance) << lookup_var(mod)
         
     | 
| 
       443 
439 
     | 
    
         
             
                      end
         
     | 
| 
       444 
440 
     | 
    
         
             
                    end
         
     | 
| 
       445 
441 
     | 
    
         
             
                  end
         
     |