solidus_searchkick 0.2 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 97fb4a93971a0e417baacc6a1278702f33755514
4
- data.tar.gz: eab0be521331e7d3d22833c03fd56f925189e4ad
3
+ metadata.gz: 78ff2baa5445a6971e47e6f2f4537a83ef9cb7be
4
+ data.tar.gz: 8bfd5bd35aa679be37b2246169ea5fa800f7cc1c
5
5
  SHA512:
6
- metadata.gz: aa20f47574136f30fe35302ef73f16c228425b7222ee25217c4a621aca637dc0326e91ef9e2ffa1ab0bd06f73c9f23009116d3630155aafca0783b707d624038
7
- data.tar.gz: 53bf2d7bba2adfd9a82dfdec695a6f9fab010f397028c3c15d43193c30b997dd491bfbfefa5c53257bfc534a240e5e9db1f28cd20ef3e9936d58e9c8b7d3e48c
6
+ metadata.gz: 7310697edad717e14cb0a21cdff9aff2dcbe40686fb907cfeadeb74b3a099ef20167ece50685e53967e33bda03dc0b1ad1f9678189cd66424f3bb93596cd7762
7
+ data.tar.gz: b7574c8cbaa1ce11e57f37f9b6fc97e2c465814402ea7d76d368756bd41f798fb87cc3393bcadd6ee320bcbd7ddcf143c69b5d90518d5fe52fe935dc0029bee9
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- solidus_searchkick (0.2)
4
+ solidus_searchkick (0.2.1)
5
5
  searchkick (~> 1.2)
6
6
  solidus (~> 1.4, >= 1.4.0)
7
7
 
@@ -1,7 +1,10 @@
1
1
  <% filters = @taxon ? @taxon.applicable_filters : Spree::Core::SearchkickFilters.all_filters %>
2
2
  <% unless filters.empty? %>
3
- <%= form_tag '', :method => :get, :id => 'sidebar_products_search' do %>
3
+ <%= form_tag '', :method => :get, :id => 'sidebar_products_filters' do %>
4
4
  <%= hidden_field_tag 'per_page', params[:per_page] %>
5
+ <%= hidden_field_tag 'keywords', params[:keywords] if params[:keywords] && !params[:keywords].blank? %>
6
+ <%= hidden_field_tag 'taxon', params[:taxon] if params[:taxon] && !params[:taxon].blank? %>
7
+ <%= raw(hash_as_hidden_fields({searchkick_options: params[:searchkick_options] })) if params[:searchkick_options] && !params[:searchkick_options].blank? %>
5
8
  <% filters.each do |filter| %>
6
9
  <% labels = filter[:labels] || filter[:conds].map {|m,c| [m,m]} %>
7
10
  <% next if labels.empty? %>
@@ -0,0 +1,43 @@
1
+ module SolidusSearchkick
2
+ module Helpers
3
+ module FormHelper
4
+ def flatten_hash(hash = params, ancestor_names = [])
5
+ flat_hash = {}
6
+ hash.each do |k, v|
7
+ names = Array.new(ancestor_names)
8
+ names << k
9
+ if v.is_a?(Hash)
10
+ flat_hash.merge!(flatten_hash(v, names))
11
+ else
12
+ key = flat_hash_key(names)
13
+ key += '[]' if v.is_a?(Array)
14
+ flat_hash[key] = v
15
+ end
16
+ end
17
+
18
+ flat_hash
19
+ end
20
+
21
+ def flat_hash_key(names)
22
+ names = Array.new(names)
23
+ name = names.shift.to_s.dup
24
+ names.each do |n|
25
+ name << "[#{n}]"
26
+ end
27
+ name
28
+ end
29
+
30
+ def hash_as_hidden_fields(hash = params)
31
+ hidden_fields = []
32
+ flatten_hash(hash).each do |name, value|
33
+ value = [value] if !value.is_a?(Array)
34
+ value.each do |v|
35
+ hidden_fields << hidden_field_tag(name, v.to_s, id: nil)
36
+ end
37
+ end
38
+
39
+ hidden_fields.join("\n")
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,7 @@
1
+ module SolidusSearchkick
2
+ class Railtie < Rails::Railtie
3
+ initializer "solidus_searchkick.add_helpers" do
4
+ ActionView::Base.send :include, SolidusSearchkick::Helpers::FormHelper
5
+ end
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module SolidusSearchkick
2
- VERSION = '0.2'
2
+ VERSION = '0.2.1'
3
3
  end
@@ -1,5 +1,6 @@
1
1
  require 'spree_core'
2
2
  require 'solidus_searchkick/engine'
3
+ require 'solidus_searchkick/railtie' if defined?(Rails)
3
4
 
4
5
  module SolidusSearchkick
5
6
  def self.root
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_searchkick
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Smith
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-09 00:00:00.000000000 Z
11
+ date: 2016-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: solidus
@@ -256,6 +256,8 @@ files:
256
256
  - lib/solidus_searchkick.rb
257
257
  - lib/solidus_searchkick/engine.rb
258
258
  - lib/solidus_searchkick/factories.rb
259
+ - lib/solidus_searchkick/helpers/form_helper.rb
260
+ - lib/solidus_searchkick/railtie.rb
259
261
  - lib/solidus_searchkick/version.rb
260
262
  - lib/spree/core/searchkick_filters.rb
261
263
  - lib/spree/search/searchkick.rb