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.27 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.26 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.45 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.25 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.23 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.44 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.22 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.43 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.21 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.42 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.20 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.41 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.19 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.40 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.18 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.39 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.17 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.38 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.16 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.37 app/queries/workarea/extract_content_block_text.rb