class Treebank::Sentence
Attributes
elliptic_nodes[R]
Public Class Methods
new(sentence_node)
click to toggle source
# File lib/treebank/sentence.rb, line 8 def initialize(sentence_node) @node = sentence_node @last_id = @next_id = last_id @elliptic_nodes = {} end
Public Instance Methods
add_ellipsis(attrs, string)
click to toggle source
# File lib/treebank/sentence.rb, line 14 def add_ellipsis(attrs, string) id = next_id all_attrs = { id: id, insertion_id: get_insertion_id, form: "[#{string}]" }.merge(attrs) new_node = new_word(all_attrs) @elliptic_nodes[string] = id @node.add_child(indent) @node.add_child(new_node) @node.add_child(new_line) new_node end
ctsify()
click to toggle source
# File lib/treebank/sentence.rb, line 31 def ctsify doc_id = @node['document_id'] cts_urn = CtsMap.doc_id_to_cts_urn(doc_id) return unless cts_urn @node['document_id'] = cts_urn subdoc = @node['subdoc'] @node['subdoc'] = subdoc.gsub(/\D/, ' ').split.join('.') end
Private Instance Methods
get_insertion_id()
click to toggle source
# File lib/treebank/sentence.rb, line 61 def get_insertion_id "#{last_id.to_s.rjust(4, '0')}#{suffix}" end
indent()
click to toggle source
# File lib/treebank/sentence.rb, line 71 def indent Nokogiri::XML::Text.new(" ", @node) end
last_id()
click to toggle source
# File lib/treebank/sentence.rb, line 47 def last_id return @last_id if @last_id last_word = @node.xpath('word').last @last_id = last_word['id'].to_i end
new_line()
click to toggle source
# File lib/treebank/sentence.rb, line 75 def new_line Nokogiri::XML::Text.new("\n ", @node) end
new_word(attrs)
click to toggle source
# File lib/treebank/sentence.rb, line 65 def new_word(attrs) word = Nokogiri::XML::Node.new('word', @node) attrs.each { |k, v| word[k] = v } word end
next_id()
click to toggle source
# File lib/treebank/sentence.rb, line 43 def next_id update_last_id end
suffix()
click to toggle source
# File lib/treebank/sentence.rb, line 57 def suffix @suffix = @suffix ? Alphabet.next_letter(@suffix) : 'e' end
update_last_id()
click to toggle source
# File lib/treebank/sentence.rb, line 53 def update_last_id @next_id += 1 end