Skip to content
  1. Apr 22, 2013
    • Rene Saarsoo's avatar
      Eliminate Tag::Autodetected class. · 8cba3888
      Rene Saarsoo authored
      Handle the :autodetected field entirely inside Merger class.
      
      From code we get the :autodetected hash with :tagname value - we
      use this as the initial value for :autodetected field in merge result.
      By adding this, we eliminate the need for the special merge logic
      in Autodetected class (which turned out to be buggy anyway).
      8cba3888
    • Rene Saarsoo's avatar
      Eliminate duplication of can_be_autodetected? method. · 55dc211e
      Rene Saarsoo authored
      Call the Merger.can_be_autodetected? from Param tag.
      55dc211e
    • Rene Saarsoo's avatar
      Eliminate DocsCodeComparer class. · 4363bcf2
      Rene Saarsoo authored
      Move the methods in it to Merger.
      4363bcf2
    • Rene Saarsoo's avatar
      Eliminate the complex parameter merging logic. · 1a6efa4c
      Rene Saarsoo authored
      Stick with the simple: if @param in comment, use that, otherwise
      use params auto-detected from code.  This means the auto-merging
      takes completely care of that.  So the merge method only needs to
      set the defaults and report warnings.
      
      This change eliminates support for the syntax where one defines
      variabled types in doc-comment and names in code.  But that's a
      very silly syntax anyway as one can't use it when one also wants
      to document the variable.  So it's now gone and we have simplified
      the code considerably.
      1a6efa4c
    • Rene Saarsoo's avatar
      Mark params autodetection in generic way. · 54520abf
      Rene Saarsoo authored
      For this make Ast detect no params as nil instead of [].
      Similarly detect no explicit params as nil not [].
      This allows the auto-merging to pick the one with some params
      and use that plus mark params :autodetected when merged from code.
      
      But the actual merging of params is still done in Param class
      because of the complicated types merging logic.
      
      Additionally refactored the param warnings creation to separate
      method.
      54520abf
    • Rene Saarsoo's avatar
      Use auto-merging for everything. · 4113fb40
      Rene Saarsoo authored
      Run the custom #merge methods only to do post-processing after
      the automerging has completed.
      
      Generally this means the #merge method is now mainly responsible
      for setting the default value.
      
      This eliminates the clunky calls to DocsCodeComparer class.
      4113fb40
    • Rene Saarsoo's avatar
      Remove #merge method from Default tag class. · 3ebec076
      Rene Saarsoo authored
      Let the auto-merging algorithm take care of this.
      
      Change the generic merging algorithm to merge all non-nil fields.
      Previously it checked for #key_exists? but in the case of :default
      the key existed but defaulted to nil.
      3ebec076
    • Rene Saarsoo's avatar
      5407cc87
    • Rene Saarsoo's avatar
      Don't auto-merge code when names don't match. · 47261b3b
      Rene Saarsoo authored
      Move name-detection to merger class and get rid of Tag::Name class
      completely.
      47261b3b
    • Rene Saarsoo's avatar
      Refactor #process_code to take just one param again. · cc10d44d
      Rene Saarsoo authored
      Instead of modifying the passed-in hash, the method now creates
      a hash by its own and returns it.
      cc10d44d
    • Rene Saarsoo's avatar
      Change #process_code to take two params. · 5fcb3ac4
      Rene Saarsoo authored
      Instead of just returning the hash, process_code will now add fields
      To the supplied context hash, with implementation in MemberTag covering
      the base case and subclasses adding their extra logic on top of that.
      
      Transformation of member name from "foo.bar.baz" to "baz" now
      happens within MemberTag#process_code, while Class#process_code leaves
      the name as is.
      
      The #process_code now gets called for every time - both when the member
      type was detected correctly and when it was not.
      5fcb3ac4
  2. Apr 20, 2013
  3. Apr 18, 2013
  4. Apr 15, 2013
    • Rene Saarsoo's avatar
      Make member signature rendering customizable. · 99b491a7
      Rene Saarsoo authored
      Split the Render::Signature into two classes:
      
       - MethodSignature
       - PropertySignature
      
      And add a third one for a shared method for generating the link:
      
       - SignatureUtil
      
      All the builtin member classes now have #to_html method which
      takes two parameters (differently from the normal #to_html that
      only takes one).  This probably can't stay this exact way.
      99b491a7
  5. Apr 03, 2013
  6. Apr 02, 2013
  7. Apr 01, 2013
  8. Mar 30, 2013
  9. Mar 28, 2013
  10. Mar 25, 2013
  11. Mar 22, 2013
  12. Mar 21, 2013
    • Rene Saarsoo's avatar
      Turn :autodetected field into hash. · 3f916406
      Rene Saarsoo authored
      Inside Ast auto-detection store there :tagname flag.
      Inside @param and @type merging store the :params and :type flags.
      
      Create Tag::Autodetected to do the merging of :autodetected fields
      from code and docs.
      3f916406
Loading