blacklight_advanced_search 1.0.0pre5 → 1.0.0

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.
data/README.rdoc CHANGED
@@ -3,8 +3,8 @@ This is an advanced search plugin for Blacklight ( http://www.projectblacklight.
3
3
  == Pre-requisites:
4
4
  * The Blacklight plugin ( http://github.com/projectblacklight/blacklight )
5
5
  * NOTE: Blacklight 3.x is required for current version of Advanced Search plugin
6
- * advanced search plugin 0.12.0 will work with Blacklight 2.9/Rails2.
7
- * Older tagged versions of Advanced Search may work with older BL.
6
+ * advanced search plugin latest 0.X.X version will work with Blacklight 2.9/Rails2.
7
+ * Older tagged versions of Advanced Search may work with even older BL.
8
8
 
9
9
 
10
10
  == Installation:
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0pre5
1
+ 1.0.0
@@ -51,24 +51,39 @@ module BlacklightAdvancedSearch::Controller
51
51
  # BlacklightAdvancedSearch init code will add it to CatalogController
52
52
  # if it's configured to do so. You can of course add it yourself
53
53
  # manually too.
54
+ #
55
+ # Note: For syntactically invalid input, we'll just skip the adv
56
+ # parse and send it straight to solr same as if advanced_parse_q
57
+ # were not being used.
54
58
  def add_advanced_parse_q_to_solr(solr_parameters, req_params = params)
55
- debugger
56
59
  unless req_params[:q].blank?
57
60
  field_def = Blacklight.search_field_def_for_key( req_params[:search_field]) ||
58
61
  Blacklight.default_search_field
59
62
 
63
+
60
64
  # If the individual field has advanced_parse_q suppressed, punt
61
65
  return if field_def[:advanced_parse_q] == false
62
66
 
63
67
  solr_direct_params = field_def[:solr_parameters] || {}
64
68
  solr_local_params = field_def[:solr_local_parameters] || {}
65
69
 
66
- deep_merge!(solr_parameters, solr_direct_params)
67
-
68
- deep_merge!(
69
- solr_parameters,
70
- ParsingNesting::Tree.parse(req_params[:q]).to_single_query_params( solr_local_params )
71
- )
70
+ # See if we can parse it, if we can't, we're going to give up
71
+ # and just allow basic search, perhaps with a warning.
72
+ begin
73
+ adv_search_params = ParsingNesting::Tree.parse(req_params[:q]).to_single_query_params( solr_local_params )
74
+
75
+ deep_merge!(solr_parameters, solr_direct_params)
76
+
77
+ deep_merge!(
78
+ solr_parameters,
79
+ adv_search_params
80
+ )
81
+ rescue Parslet::UnconsumedInput => e
82
+ # do nothing, don't merge our input in, keep basic search
83
+ # optional TODO, display error message in flash here, but hard to
84
+ # display a good one.
85
+ return
86
+ end
72
87
  end
73
88
  end
74
89
 
@@ -97,6 +112,8 @@ module BlacklightAdvancedSearch::Controller
97
112
  end
98
113
 
99
114
 
115
+
116
+
100
117
  end
101
118
 
102
119
 
metadata CHANGED
@@ -1,58 +1,77 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: blacklight_advanced_search
3
- version: !ruby/object:Gem::Version
4
- version: 1.0.0pre5
5
- prerelease: 5
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease:
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 0
10
+ version: 1.0.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Jonathan Rochkind
9
14
  - Chris Beer
10
15
  autorequire:
11
16
  bindir: bin
12
17
  cert_chain: []
13
- date: 2011-07-21 00:00:00.000000000 -04:00
18
+
19
+ date: 2011-09-12 00:00:00 -04:00
14
20
  default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
17
23
  name: rails
18
- requirement: &2156044920 !ruby/object:Gem::Requirement
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
19
26
  none: false
20
- requirements:
27
+ requirements:
21
28
  - - ~>
22
- - !ruby/object:Gem::Version
23
- version: '3.0'
29
+ - !ruby/object:Gem::Version
30
+ hash: 7
31
+ segments:
32
+ - 3
33
+ - 0
34
+ version: "3.0"
24
35
  type: :runtime
25
- prerelease: false
26
- version_requirements: *2156044920
27
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
28
38
  name: blacklight
29
- requirement: &2156044000 !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
30
41
  none: false
31
- requirements:
32
- - - ! '>='
33
- - !ruby/object:Gem::Version
34
- version: '0'
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 3
46
+ segments:
47
+ - 0
48
+ version: "0"
35
49
  type: :runtime
36
- prerelease: false
37
- version_requirements: *2156044000
38
- - !ruby/object:Gem::Dependency
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
39
52
  name: parslet
40
- requirement: &2156043200 !ruby/object:Gem::Requirement
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
41
55
  none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 3
60
+ segments:
61
+ - 0
62
+ version: "0"
46
63
  type: :runtime
47
- prerelease: false
48
- version_requirements: *2156043200
64
+ version_requirements: *id003
49
65
  description:
50
- email:
66
+ email:
51
67
  - blacklight-development@googlegroups.com
52
68
  executables: []
69
+
53
70
  extensions: []
71
+
54
72
  extra_rdoc_files: []
55
- files:
73
+
74
+ files:
56
75
  - .gitignore
57
76
  - LICENSE
58
77
  - README.rdoc
@@ -101,29 +120,38 @@ files:
101
120
  has_rdoc: true
102
121
  homepage: http://projectblacklight.org/
103
122
  licenses: []
123
+
104
124
  post_install_message:
105
125
  rdoc_options: []
106
- require_paths:
126
+
127
+ require_paths:
107
128
  - lib
108
- required_ruby_version: !ruby/object:Gem::Requirement
129
+ required_ruby_version: !ruby/object:Gem::Requirement
109
130
  none: false
110
- requirements:
111
- - - ! '>='
112
- - !ruby/object:Gem::Version
113
- version: '0'
114
- required_rubygems_version: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ hash: 3
135
+ segments:
136
+ - 0
137
+ version: "0"
138
+ required_rubygems_version: !ruby/object:Gem::Requirement
115
139
  none: false
116
- requirements:
117
- - - ! '>'
118
- - !ruby/object:Gem::Version
119
- version: 1.3.1
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ hash: 3
144
+ segments:
145
+ - 0
146
+ version: "0"
120
147
  requirements: []
148
+
121
149
  rubyforge_project: blacklight
122
150
  rubygems_version: 1.6.2
123
151
  signing_key:
124
152
  specification_version: 3
125
153
  summary: Blacklight Advanced Search plugin
126
- test_files:
154
+ test_files:
127
155
  - spec/lib/filter_parser_spec.rb
128
156
  - spec/parsing_nesting/build_tree_spec.rb
129
157
  - spec/parsing_nesting/consuming_spec.rb