Sha256: b66d122fa409302b66016acd34039ad65425832f94e86c947f42fd1a4552b5bd

Contents?: true

Size: 1.19 KB

Versions: 6

Compression:

Stored size: 1.19 KB

Contents

#
# bitclust/docentry.rb
#
# Copyright (c) 2006-2008 Minero Aoki
#
# This program is free software.
# You can distribute/modify this program under the Ruby License.
#

require 'bitclust/entry'
require 'bitclust/exception'

module BitClust

  # Entry for general documents (doc/**/*.rd, etc.)
  class DocEntry < Entry

    def self.type_id
      :doc
    end

    def initialize(db, id)
      super db
      @id = id
      init_properties
    end

    attr_reader :id

    def ==(other)
      @id == other.id
    end

    alias eql? ==

    def hash
      @id.hash
    end

    def <=>(other)
      @id.casecmp(other.id)
    end

    def name
      libid2name(@id)
    end

    alias label name

    def labels
      [label()]
    end

    def name?(n)
      name() == n
    end

    persistent_properties {
      property :title,    'String'
      property :source,   'String'
    }

    def inspect
      "#<doc #{@id}>"
    end

    def classes
      @db.classes
    end

    def error_classes
      classes.select{|c| c.error_class? }
    end

    def methods
      @db.methods
    end

    def libraries
      @db.libraries
    end

    def description
      source.split(/\n\n/, 2)[0].strip
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
bitclust-core-1.2.3 lib/bitclust/docentry.rb
bitclust-core-1.2.2 lib/bitclust/docentry.rb
bitclust-core-1.2.1 lib/bitclust/docentry.rb
bitclust-core-1.2.0 lib/bitclust/docentry.rb
bitclust-core-1.1.1 lib/bitclust/docentry.rb
bitclust-core-1.1.0 lib/bitclust/docentry.rb