search_autocomplete 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 65414a9952cad145f0acca13d8b9261c5f61ad4d6bdb02c3662ea7480fa3f155
4
- data.tar.gz: e71eef11f85a15176357c487d4d726a751f2756e2010d90b5989384d8b9bda05
3
+ metadata.gz: dce201acb963770b2b39fa7a4ede136a05f202047f0afc54a86ed09bf7681e2b
4
+ data.tar.gz: dc565979afc405dd53ddf95ad3cd9961146ae344da9abcf069630cfc4369204f
5
5
  SHA512:
6
- metadata.gz: a1928f2420a273e856fc9d100a47d9287a37465c65d7cee8c1aa70ad5163a13f3de293b5784ccf08a4dafc857ad04c0e0737b5a36bbc9f577af21988fd755e17
7
- data.tar.gz: 29a843e5dd52fb813c21c5231fd8b19a32b93fb75a57338069b82726fa73b45421019f58048134a0eb230915cf3d26f4194a2758d27496572d5ee7d1a39e480d
6
+ metadata.gz: 64e9635eef637b53f4376ae1264e2ad9f3a51967cbd08b8314a622d340371c80cce2b4587c06fe81da2d78da26477b4010d18bee6eb4eac2b9a6e431fb9b62b2
7
+ data.tar.gz: cc552950c207df79d1080e52ead0ad3ff4daf6a29e1df49c66496465eff2aeee65e513ab650a901b141d58436c55e3c245a3c91b80fbce24fe0dbec46e60fe88
data/README.md CHANGED
@@ -76,6 +76,18 @@ You can also search namespaced models by adding the lowercase name of every name
76
76
 
77
77
  If your model is `Admin::User` the search would be: `{APP URL}/autocomplete/admin/user?term=Roger`
78
78
 
79
+ You can also specify more filters and additional fields to display instead of the base field:
80
+
81
+ ```ruby
82
+ class Category < ApplicationRecord
83
+ belongs_to :category, optional: true
84
+
85
+ autocomplete :name, %i[name last_name], %i[last_name]
86
+ end
87
+ ```
88
+
89
+ You can search names AND last_names like this: `{APP URL}/autocomplete/person?term=Roger&last_name=Smith`
90
+
79
91
  ### Search / Filter
80
92
 
81
93
  You can use the method `search` on your controllers as a way to filter data.
@@ -8,7 +8,7 @@ module ActionView
8
8
  class FormBuilder
9
9
  ##
10
10
  # Creates an autocomplete element from form builder
11
- def autocomplete_field(method, display_value, autocomplete_path, options = {})
11
+ def autocomplete_field(method, display_value, autocomplete_path, **options)
12
12
  options.reverse_merge!(
13
13
  'display-value': find_autocomplete_value(display_value),
14
14
  value: @object.send(method),
@@ -24,13 +24,13 @@ module ActionController
24
24
 
25
25
  private
26
26
 
27
- def prepare_search_fields(table, fields, exact = true)
27
+ def prepare_search_fields(table, fields, **options)
28
28
  search_conditions = []
29
29
  fields.each do |field|
30
30
  if field.is_a?(Array)
31
- search_conditions.push prepare_jsonb_condition(table, field, exact)
31
+ search_conditions.push prepare_jsonb_condition(table, field, options[:exact])
32
32
  else
33
- search_conditions.push prepare_simple_condition(table, field, exact)
33
+ search_conditions.push prepare_simple_condition(table, field, options[:exact])
34
34
  end
35
35
  end
36
36
  search_conditions
@@ -2,5 +2,5 @@
2
2
 
3
3
  module SearchAutocomplete
4
4
  # Gem version
5
- VERSION = '0.1.1'
5
+ VERSION = '0.1.2'
6
6
  end
metadata CHANGED
@@ -1,15 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: search_autocomplete
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francis Schiavo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-24 00:00:00.000000000 Z
12
- dependencies: []
11
+ date: 2021-07-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 6.0.0
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 6.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubocop
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop-rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
13
55
  description: Search and autocomplete based on Arel and WebComponents.
14
56
  email:
15
57
  - francischiavo@gmail.com
@@ -31,7 +73,12 @@ files:
31
73
  homepage: https://github.com/francis-schiavo/search_autocomplete
32
74
  licenses:
33
75
  - MIT
34
- metadata: {}
76
+ metadata:
77
+ homepage_uri: https://github.com/francis-schiavo/search_autocomplete
78
+ source_code_uri: https://github.com/francis-schiavo/search_autocomplete
79
+ bug_tracker_uri: https://github.com/francis-schiavo/search_autocomplete/issues
80
+ changelog_uri: https://github.com/francis-schiavo/search_autocomplete/blob/master/CHANGELOG.md
81
+ documentation_uri: https://rubydoc.info/gems/search_autocomplete
35
82
  post_install_message:
36
83
  rdoc_options: []
37
84
  require_paths:
@@ -40,7 +87,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
40
87
  requirements:
41
88
  - - ">="
42
89
  - !ruby/object:Gem::Version
43
- version: '0'
90
+ version: 2.7.2
44
91
  required_rubygems_version: !ruby/object:Gem::Requirement
45
92
  requirements:
46
93
  - - ">="