Sha256: ac257172b68a9a308204605fb76b80d35adbaf7d5555cc6d094e28c2529e8ae6

Contents?: true

Size: 1.23 KB

Versions: 2

Compression:

Stored size: 1.23 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)
      return false if self.class != other.class
      @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

2 entries across 2 versions & 1 rubygems

Version Path
bitclust-core-1.2.5 lib/bitclust/docentry.rb
bitclust-core-1.2.4 lib/bitclust/docentry.rb