Sha256: b8f3e55af055c427666b9b65d95b94c164e0deedcb80dcf0d3a2f592304b8549

Contents?: true

Size: 529 Bytes

Versions: 7

Compression:

Stored size: 529 Bytes

Contents

# Handles 'extend' call to include modules into the class scope of another
# @see MixinHandler
class YARD::Handlers::Ruby::ExtendHandler < YARD::Handlers::Ruby::MixinHandler
  namespace_only
  handles method_call(:extend)

  def scope; :class end

  private

  def process_mixin(mixin)
    if mixin == s(:var_ref, s(:kw, "self"))
      if namespace.is_a?(ClassObject)
        raise UndocumentableError, "extend(self) statement on class"
      end
      namespace.mixins(scope) << namespace
    else
      super
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
yard-0.6.8 lib/yard/handlers/ruby/extend_handler.rb
yard-0.6.7 lib/yard/handlers/ruby/extend_handler.rb
yard-0.6.6 lib/yard/handlers/ruby/extend_handler.rb
yard-0.6.5 lib/yard/handlers/ruby/extend_handler.rb
yard-0.6.4 lib/yard/handlers/ruby/extend_handler.rb
yard-0.6.3 lib/yard/handlers/ruby/extend_handler.rb
yard-0.6.2 lib/yard/handlers/ruby/extend_handler.rb