Sha256: 385ab6dd9fd9ccb4b02257bc02f4f0a966df9045ecc9aa093edf49db6a0f7487

Contents?: true

Size: 761 Bytes

Versions: 4

Compression:

Stored size: 761 Bytes

Contents

require 'simple_bioc/location_adjuster'
module SimpleBioC
  class Passage
    include LocationAdjuster

    attr_accessor :offset, :text, :infons, :sentences, :annotations, :relations
    attr_reader :document

    def initialize(parent)
      @infons = {}
      @sentences = []
      @annotations = []
      @relations = []
      @document = parent
    end

    def to_s
      "Passage @#{@offset}: #{@text}"  
    end

    def find_node(id)
      (@relations+@annotations).each{|n| return n if n.id == id}
      @sentences.each do |s|
        ret = s.find_node(id)
        return ret unless ret.nil?
      end
      nil
    end

    def each_relation
      @relations.each{|r| yield r}
      @sentences.each{|s| s.each_relation{|r| yield r}}
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
simple_bioc-0.0.20 lib/simple_bioc/passage.rb
simple_bioc-0.0.19 lib/simple_bioc/passage.rb
simple_bioc-0.0.18 lib/simple_bioc/passage.rb
simple_bioc-0.0.17 lib/simple_bioc/passage.rb