blacklight_advanced_search 1.0.0pre5 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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