Sha256: 6f244df9f5c91396c5e16c61e4e5c3779aa21fbad4b359d382bc922c005a1551

Contents?: true

Size: 753 Bytes

Versions: 1

Compression:

Stored size: 753 Bytes

Contents

class YARD::Handlers::MethodHandler < YARD::Handlers::Base
  handles TkDEF
    
  def process
    nobj = namespace
    mscope = scope

    if meth = statement.tokens.to_s[/^def\s+(#{METHODMATCH})/m, 1]
      meth.gsub!(/\s+/,'')
    else
      raise YARD::Handlers::UndocumentableError, "method: invalid name"
    end
    
    # Class method if prefixed by self(::|.) or Module(::|.)
    if meth =~ /(?:#{NSEP}|\.)([^#{NSEP}\.]+)$/
      mscope, meth = :class, $1
      nobj = P(namespace, $`) unless $` == "self"
    end
    
    obj = register MethodObject.new(nobj, meth, mscope) do |o| 
      o.visibility = visibility 
      o.source = statement
      o.explicit = true
    end
    parse_block(:owner => obj) # mainly for yield/exceptions
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
yard-0.2.2 lib/yard/handlers/method_handler.rb