Class: AmazonTRP::Document
- Inherits:
-
Object
- Object
- AmazonTRP::Document
- Defined in:
- lib/amazon-textract-parser-ruby.rb
Instance Attribute Summary collapse
-
#blocks ⇒ Object
readonly
Returns the value of attribute blocks.
-
#pageBlocks ⇒ Object
readonly
Returns the value of attribute pageBlocks.
-
#pages ⇒ Object
readonly
Returns the value of attribute pages.
Instance Method Summary collapse
- #_parse ⇒ Object
- #_parseDocumentPagesAndBlockMap ⇒ Object
- #getBlockById(blockId) ⇒ Object
-
#initialize(responsePages) ⇒ Document
constructor
A new instance of Document.
- #to_s ⇒ Object
Constructor Details
#initialize(responsePages) ⇒ Document
Returns a new instance of Document.
536 537 538 539 540 |
# File 'lib/amazon-textract-parser-ruby.rb', line 536 def initialize(responsePages) @responsePages = responsePages.is_a?(Array) ? responsePages : [responsePages] @pages = [] _parse() end |
Instance Attribute Details
#blocks ⇒ Object (readonly)
Returns the value of attribute blocks.
532 533 534 |
# File 'lib/amazon-textract-parser-ruby.rb', line 532 def blocks @blocks end |
#pageBlocks ⇒ Object (readonly)
Returns the value of attribute pageBlocks.
533 534 535 |
# File 'lib/amazon-textract-parser-ruby.rb', line 533 def pageBlocks @pageBlocks end |
#pages ⇒ Object (readonly)
Returns the value of attribute pages.
534 535 536 |
# File 'lib/amazon-textract-parser-ruby.rb', line 534 def pages @pages end |
Instance Method Details
#_parse ⇒ Object
576 577 578 579 580 581 582 |
# File 'lib/amazon-textract-parser-ruby.rb', line 576 def _parse @responseDocumentPages, @blockMap = _parseDocumentPagesAndBlockMap() @responseDocumentPages.each do |documentPage| page = Page.new(documentPage[:blocks], @blockMap) @pages.append(page) end end |
#_parseDocumentPagesAndBlockMap ⇒ Object
550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 |
# File 'lib/amazon-textract-parser-ruby.rb', line 550 def _parseDocumentPagesAndBlockMap blockMap = {} documentPages = [] documentPage = nil @responsePages.each do |page| unless page[:blocks].nil? page[:blocks].each do |block| if block.has_key?(:block_type) && block.has_key?(:id) blockMap[block[:id]] = block end if block[:block_type] == 'PAGE' documentPages.append({:blocks => documentPage}) if documentPage documentPage = [] documentPage.append(block) else documentPage.append(block) end end end end documentPages.append({:blocks => documentPage}) if documentPage return documentPages, blockMap end |
#getBlockById(blockId) ⇒ Object
584 585 586 587 |
# File 'lib/amazon-textract-parser-ruby.rb', line 584 def getBlockById(blockId) return @blockMap[blockId] if @blockMap && @blockMap.has_key?(blockId) return nil end |
#to_s ⇒ Object
542 543 544 545 546 547 548 |
# File 'lib/amazon-textract-parser-ruby.rb', line 542 def to_s s = "\nDocument:\n" @pages.each do |p| s = s + p.to_s + "\n\n" end return s end |