Sha256: 53b01006cc2f797b07472ec091dda7464e4cf2413cd4021ceded33472290c1df

Contents?: true

Size: 1 KB

Versions: 18

Compression:

Stored size: 1 KB

Contents

# frozen_string_literal: true

require_relative 'text_search/active_record_authorization'
require_relative 'text_search/sql'
require_relative 'text_search/component'
require_relative 'text_search/authorization'

module ActiveElement
  module Components
    # Provides back end for live text search components.
    module TextSearch
      @authorized_text_searches = []

      class << self
        attr_reader :authorized_text_searches

        def register_authorized_text_search(model:, with:, providing:)
          authorized_text_searches << [model, with, providing]
        end

        def text_search_options(model:, with:, providing:)
          {
            search: { model: model.name.underscore, with: with, providing: providing },
            placeholder: "Search for #{model.name.titleize} by #{humanized_names(with).join(', ')}..."
          }
        end

        private

        def humanized_names(names)
          Array(names).compact.map.map(&:to_s).map(&:humanize)
        end
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
active_element-0.0.31 lib/active_element/components/text_search.rb
active_element-0.0.30 lib/active_element/components/text_search.rb
active_element-0.0.29 lib/active_element/components/text_search.rb
active_element-0.0.28 lib/active_element/components/text_search.rb
active_element-0.0.27 lib/active_element/components/text_search.rb
active_element-0.0.26 lib/active_element/components/text_search.rb
active_element-0.0.24 lib/active_element/components/text_search.rb
active_element-0.0.23 lib/active_element/components/text_search.rb
active_element-0.0.22 lib/active_element/components/text_search.rb
active_element-0.0.21 lib/active_element/components/text_search.rb
active_element-0.0.19 lib/active_element/components/text_search.rb
active_element-0.0.18 lib/active_element/components/text_search.rb
active_element-0.0.17 lib/active_element/components/text_search.rb
active_element-0.0.16 lib/active_element/components/text_search.rb
active_element-0.0.15 lib/active_element/components/text_search.rb
active_element-0.0.14 lib/active_element/components/text_search.rb
active_element-0.0.13 lib/active_element/components/text_search.rb
active_element-0.0.12 lib/active_element/components/text_search.rb