Sha256: 70967145337bc8d2b5439f27478de1716a0a6532538e004c9d6c8d9c5c3d360c

Contents?: true

Size: 908 Bytes

Versions: 63

Compression:

Stored size: 908 Bytes

Contents

# frozen_string_literal: true
# (see Ruby::ConstantHandler)
class YARD::Handlers::Ruby::Legacy::ConstantHandler < YARD::Handlers::Ruby::Legacy::Base
  include YARD::Handlers::Ruby::StructHandlerMethods
  HANDLER_MATCH = /\A[A-Z]\w*\s*=[^=]\s*/m
  handles HANDLER_MATCH
  namespace_only

  process do
    name, value = *statement.tokens.to_s.split(/\s*=\s*/, 2)
    if value =~ /\A\s*Struct.new(?:\s*\(?|\b)/
      process_structclass(name, $')
    else
      register ConstantObject.new(namespace, name) {|o| o.source = statement; o.value = value.strip }
    end
  end

  private

  def process_structclass(classname, parameters)
    klass = create_class(classname, P(:Struct))
    create_attributes(klass, extract_parameters(parameters))
  end

  def extract_parameters(parameters)
    members = tokval_list(YARD::Parser::Ruby::Legacy::TokenList.new(parameters), TkSYMBOL)
    members.map(&:to_s)
  end
end

Version data entries

63 entries across 62 versions & 9 rubygems

Version Path
kinetic_sdk-5.0.29 gems/yard-0.9.36/lib/yard/handlers/ruby/legacy/constant_handler.rb
kinetic_sdk-5.0.28 gems/yard-0.9.36/lib/yard/handlers/ruby/legacy/constant_handler.rb
direct7-0.0.18 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/handlers/ruby/legacy/constant_handler.rb
direct7-0.0.17 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/handlers/ruby/legacy/constant_handler.rb
direct7-0.0.16 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/handlers/ruby/legacy/constant_handler.rb
yard-0.9.37 lib/yard/handlers/ruby/legacy/constant_handler.rb
kinetic_sdk-5.0.27 gems/yard-0.9.36/lib/yard/handlers/ruby/legacy/constant_handler.rb
kinetic_sdk-5.0.26 gems/yard-0.9.36/lib/yard/handlers/ruby/legacy/constant_handler.rb
kinetic_sdk-5.0.25 gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/constant_handler.rb
kinetic_sdk-5.0.24 gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/constant_handler.rb
direct7-0.0.13 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/handlers/ruby/legacy/constant_handler.rb
yard-0.9.36 lib/yard/handlers/ruby/legacy/constant_handler.rb
yard-0.9.35 lib/yard/handlers/ruby/legacy/constant_handler.rb
direct7-0.0.12 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/handlers/ruby/legacy/constant_handler.rb
kinetic_sdk-5.0.23 gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/constant_handler.rb
getargv-0.3.3-universal-darwin vendor/bundle/ruby/3.3.0/gems/yard-0.9.34/lib/yard/handlers/ruby/legacy/constant_handler.rb
direct7-0.0.11 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/handlers/ruby/legacy/constant_handler.rb
kinetic_sdk-5.0.22 gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/constant_handler.rb
kinetic_sdk-5.0.21 gems/yard-0.9.25/lib/yard/handlers/ruby/legacy/constant_handler.rb
yard-0.9.34 lib/yard/handlers/ruby/legacy/constant_handler.rb