Sha256: 26358fc3ff4df6a97978ecc975d6c163b2795512b208dbba020cf830eb5dddd2

Contents?: true

Size: 705 Bytes

Versions: 62

Compression:

Stored size: 705 Bytes

Contents

module Workarea
  class ExtractContentBlockText
    def initialize(blocks)
      @blocks = Array(blocks)
    end

    def text
      @blocks.reduce('') do |memo, block|
        memo << ' ' unless memo.blank?
        memo << extract_text(block.data)
      end
    end

    private

    def extract_text(data)
      data.values.reduce('') do |memo, value|
        value = value.to_s

        if value.scan(/[\p{Alnum}\-\_\:\/\/\.']+/).size >= min_words
          memo << ' ' unless memo.blank?
          memo << ActionController::Base.helpers.strip_tags(value)
        else
          memo
        end
      end
    end

    def min_words
      Workarea.config.minimum_content_search_words
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
workarea-core-3.5.15 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.36 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.14 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.35 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.13 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.34 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.12 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.33 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.11 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.10 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.32 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.9 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.31 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.8 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.30 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.7 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.29 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.6 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.28 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.5 app/queries/workarea/extract_content_block_text.rb