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.4.27 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.4 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.26 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.3 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.25 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.2 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.24 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.1 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.23 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.22 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.0 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.21 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.5.0.beta.1 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.20 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.19 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.18 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.17 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.16 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.15 app/queries/workarea/extract_content_block_text.rb
workarea-core-3.4.14 app/queries/workarea/extract_content_block_text.rb