Sha256: c67b3a490b5bf98138f72cdc237f329a221bed56322ccbbe327ecb34acd7415f

Contents?: true

Size: 884 Bytes

Versions: 106

Compression:

Stored size: 884 Bytes

Contents

# (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 {|m| m.to_s }
  end
end

Version data entries

106 entries across 86 versions & 10 rubygems

Version Path
climine-0.0.2 vendor/bundle/ruby/2.0.0/gems/yard-0.8.7.3/lib/yard/handlers/ruby/legacy/constant_handler.rb
climine-0.0.1 vendor/bundle/ruby/2.0.0/gems/yard-0.8.7.3/lib/yard/handlers/ruby/legacy/constant_handler.rb
yard-0.8.7.3 lib/yard/handlers/ruby/legacy/constant_handler.rb
yard-0.8.7.2 lib/yard/handlers/ruby/legacy/constant_handler.rb
candlepin-api-0.4.0 bundle/ruby/1.8/gems/yard-0.8.7/lib/yard/handlers/ruby/legacy/constant_handler.rb
candlepin-api-0.4.0 bundle/ruby/1.9.1/gems/yard-0.8.7/lib/yard/handlers/ruby/legacy/constant_handler.rb
candlepin-api-0.4.0 bundle/ruby/gems/yard-0.8.7/lib/yard/handlers/ruby/legacy/constant_handler.rb
yard-0.8.7.1 lib/yard/handlers/ruby/legacy/constant_handler.rb
yard-0.8.7 lib/yard/handlers/ruby/legacy/constant_handler.rb
challah-1.0.0 vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/constant_handler.rb
yard-0.8.6.2 lib/yard/handlers/ruby/legacy/constant_handler.rb
challah-1.0.0.beta3 vendor/bundle/gems/yard-0.8.5.2/lib/yard/handlers/ruby/legacy/constant_handler.rb
challah-1.0.0.beta3 vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/constant_handler.rb
challah-1.0.0.beta3 vendor/bundle/gems/yard-0.8.6/lib/yard/handlers/ruby/legacy/constant_handler.rb
sidekiq-statsd-0.1.1 vendor/ruby/1.9.1/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/constant_handler.rb
sidekiq-statsd-0.1.0 vendor/ruby/1.9.1/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/constant_handler.rb
yard-0.8.6.1 lib/yard/handlers/ruby/legacy/constant_handler.rb
challah-1.0.0.beta2 vendor/bundle/gems/yard-0.8.5.2/lib/yard/handlers/ruby/legacy/constant_handler.rb
challah-1.0.0.beta2 vendor/bundle/gems/yard-0.8.6/lib/yard/handlers/ruby/legacy/constant_handler.rb
yard-0.8.6 lib/yard/handlers/ruby/legacy/constant_handler.rb