Class: YARD::Handlers::Ruby::Legacy::ClassVariableHandler

Inherits:
Base show all
Defined in:
lib/yard/handlers/ruby/legacy/class_variable_handler.rb

Constant Summary

HANDLER_MATCH =
/\A@@\w+\s*=\s*/m

Constants included from YARD::Parser::Ruby::Legacy::RubyToken

EXPR_ARG, EXPR_BEG, EXPR_CLASS, EXPR_DOT, EXPR_END, EXPR_FNAME, EXPR_MID, NEWLINE_TOKEN, TkReading2Token, TkSymbol2Token, TokenDefinitions

Constants included from YARD::CodeObjects

BUILTIN_ALL, BUILTIN_CLASSES, BUILTIN_EXCEPTIONS, BUILTIN_EXCEPTIONS_HASH, BUILTIN_MODULES, CONSTANTMATCH, CSEP, CSEPQ, ISEP, ISEPQ, METHODMATCH, METHODNAMEMATCH, NAMESPACEMATCH, NSEP, NSEPQ

Instance Method Summary

Methods inherited from Base

handles?, #parse_block

Methods included from YARD::Parser::Ruby::Legacy::RubyToken

#Token, def_token, #set_token_position

Methods inherited from YARD::Handlers::Base

clear_subclasses, #ensure_loaded!, handlers, handles, handles?, #initialize, namespace_only, namespace_only?, #parse_block, #push_state, #register, subclasses

Constructor Details

This class inherits a constructor from YARD::Handlers::Base

Instance Method Details

- (Object) process



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/yard/handlers/ruby/legacy/class_variable_handler.rb', line 5

def process
  # Don't document @@cvars if they're set in second class objects (methods) because
  # they're not "static" when executed from a method
  return unless owner.is_a? NamespaceObject
  
  name, value = *statement.tokens.to_s.split(/\s*=\s*/, 2)
  register ClassVariableObject.new(namespace, name) do |o| 
    o.source = statement
    o.value = value.strip
  end
end