class AjaxCat::Request::Table
Public Class Methods
new(sentence)
click to toggle source
Calls superclass method
AjaxCat::Request::Raw::new
# File lib/ajax-cat/request/table.rb, line 9 def initialize(sentence) super(sentence) @ret = {} @ret["source"] = @sentence.strip.split(" ") @buckets = [] @ret["source"].size.times {@buckets.push([])} end
Public Instance Methods
process_line(line)
click to toggle source
# File lib/ajax-cat/request/table.rb, line 46 def process_line(line) splited = line.split(" ||| ") words = splited[1].strip.split(" ") alignment = splited[4].strip.split(" ") alignment.each do |al| phrase = Phrase.new(words, al) finded = @buckets[phrase.from].find do |el| el.words == phrase.words and el.to == phrase.to end @buckets[phrase.from].push(phrase) if finded == nil end end
result()
click to toggle source
# File lib/ajax-cat/request/table.rb, line 17 def result @ret["table"] = [] @@rows.times do |row_number| i = 0 free_space = 0 row = [] while i < @buckets.size el = @buckets[i].shift if el if free_space > 0 row.push({"w" => free_space}) end this_space = el.to - el.from + 1 row.push({ "str" => el.words, "w" => this_space }) free_space = 0 i += this_space else free_space += 1 i += 1 end end @ret["table"].push(row) if row.size > 0 end return @ret end