Sha256: 132801ba03f516f4fad77e63f66fb0f5ff992bb6adbde95e328d0d045b411a22

Contents?: true

Size: 1 KB

Versions: 55

Compression:

Stored size: 1 KB

Contents

# Use case to abstract FORM from word document
class Eco::API::UseCases::OozeSamples::OozeFromDocCase < Eco::API::UseCases::OozeSamples::OozeUpdateCase
  name "ooze-forms-case"
  type :other

  private

  def with_column(num = 0)
    with_tables do |table, i|
      raise "Column num (#{num}) is to big. Table '#{i}' only has #{table.column_count} columns." if table.column_count < num
      table.columns[num].cells.each_with_index do |cell_row, j|
        txt = normalize_string(cell_row.text)
        yield(txt, i, j, table, cell_row)
      end
    end
  end

  def with_tables
    raise "There are no tables in the doc" unless table_count > 0
    i = 0
    doc.tables.each do |table|
      yield(table, i) if block_given?
      i += 1
    end
  end

  def table_count
    doc.tables.count
  end

  def tables?
    table_count > 0
  end

  def doc
    require 'docx'
    @doc ||= Docx::Document.open(input_file)
  end

  def input_file
    options.dig(:source, :file)
  end
end

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
eco-helpers-3.0.21 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.20 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.19 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.18 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.17 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.16 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.15 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.14 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.13 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.12 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.11 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.10 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.9 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.8 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.7 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.6 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.5 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.4 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.3 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb
eco-helpers-3.0.2 lib/eco/api/usecases/ooze_samples/ooze_from_doc_case.rb