solrizer 2.0.0.rc1 → 2.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -12,7 +12,7 @@ task :rcov => ['solrizer:rcov']
12
12
 
13
13
  task :default => :spec
14
14
 
15
- require 'rake/rdoctask'
15
+ require 'rdoc/task'
16
16
  Rake::RDocTask.new do |rdoc|
17
17
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
18
18
 
@@ -1,3 +1,3 @@
1
1
  module Solrizer
2
- VERSION = "2.0.0.rc1"
2
+ VERSION = "2.0.0.rc2"
3
3
  end
@@ -56,7 +56,7 @@ module Solrizer::XML::TerminologyBasedSolrizer
56
56
  # @param [Hash] (optional) solr_doc (values hash) to populate
57
57
  # @return [Hash] the solr doc
58
58
  def self.solrize_node(node, doc, term_pointer, term, solr_doc = Hash.new, field_mapper = nil, opts = {})
59
- return solr_doc unless term.index_as
59
+ return solr_doc unless term.index_as && !term.index_as.empty?
60
60
  field_mapper ||= self.default_field_mapper
61
61
  terminology = doc.class.terminology
62
62
 
data/solrizer.gemspec CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
20
20
  s.add_dependency "daemons"
21
21
  s.add_development_dependency 'rspec', '~>2.0'
22
22
  s.add_development_dependency 'rake'
23
+ s.add_development_dependency 'rdoc'
23
24
  s.add_development_dependency 'mocha'
24
25
  s.add_development_dependency 'yard'
25
26
  s.add_development_dependency 'RedCloth'
@@ -18,7 +18,7 @@ module Samples
18
18
  t.language{
19
19
  t.lang_code(:index_as=>[:facetable], :path=>"languageTerm", :attributes=>{:type=>"code"})
20
20
  }
21
- t.abstract(:index_as=>[])
21
+ t.abstract(:index_as=>[:searchable])
22
22
  t.subject {
23
23
  t.topic(:index_as=>[:facetable])
24
24
  }
@@ -35,7 +35,7 @@ module Samples
35
35
  t.role(:ref=>[:role])
36
36
  t.description(:index_as=>[:facetable])
37
37
  t.date(:path=>"namePart", :attributes=>{:type=>"date"})
38
- t.last_name(:path=>"namePart", :attributes=>{:type=>"family"}, :index_as=>[])
38
+ t.last_name(:path=>"namePart", :attributes=>{:type=>"family"}, :index_as=>[:searchable])
39
39
  t.first_name(:path=>"namePart", :attributes=>{:type=>"given"}, :label=>"first name")
40
40
  t.terms_of_address(:path=>"namePart", :attributes=>{:type=>"termsOfAddress"})
41
41
  t.computing_id
@@ -47,7 +47,7 @@ module Samples
47
47
  t.organization(:ref=>:name, :attributes=>{:type=>"corporate"}, :index_as=>[:facetable])
48
48
  t.conference(:ref=>:name, :attributes=>{:type=>"conference"}, :index_as=>[:facetable])
49
49
  t.role {
50
- t.text(:path=>"roleTerm",:attributes=>{:type=>"text"}, :index_as=>[])
50
+ t.text(:path=>"roleTerm",:attributes=>{:type=>"text"}, :index_as=>[:searchable])
51
51
  t.code(:path=>"roleTerm",:attributes=>{:type=>"code"})
52
52
  }
53
53
  t.journal(:path=>'relatedItem', :attributes=>{:type=>"host"}) {
@@ -68,7 +68,7 @@ module Samples
68
68
  }
69
69
  t.start_page(:proxy=>[:pages, :start])
70
70
  t.end_page(:proxy=>[:pages, :end])
71
- t.publication_date(:path=>"date", :index_as=>[])
71
+ t.publication_date(:path=>"date", :index_as=>[:searchable])
72
72
  }
73
73
  }
74
74
  t.note
@@ -55,7 +55,6 @@ describe Solrizer::XML::TerminologyBasedSolrizer do
55
55
  solr_doc["topic_tag_t"].sort.should == ["CONTROLLED TERM", "TOPIC 1", "TOPIC 2"]
56
56
 
57
57
  # These are a holdover from an old verison of OM
58
- puts "DOC: #{solr_doc.length}"
59
58
  solr_doc['journal_0_issue_0_publication_date_t'].should == ["FEB. 2007"]
60
59
 
61
60
 
@@ -85,6 +84,25 @@ describe Solrizer::XML::TerminologyBasedSolrizer do
85
84
  {suffix => actual_names}.should == {suffix => expected_names}
86
85
  end
87
86
  end
87
+
88
+ it "shouldn't index terms where index_as is an empty array" do
89
+ fake_solr_doc = {}
90
+ term = Samples::ModsArticle.terminology.retrieve_term(:name)
91
+ term.children[:namePart].index_as = []# [:displayable, :facetable]
92
+
93
+ @mods_article.solrize_term(term, fake_solr_doc)
94
+ fake_solr_doc["name_0_namePart_t"].should be_nil
95
+ end
96
+
97
+ it "shouldn't index terms where index_as is searchable" do
98
+ fake_solr_doc = {}
99
+ term = Samples::ModsArticle.terminology.retrieve_term(:name)
100
+ term.children[:namePart].index_as = [:searchable]
101
+
102
+ @mods_article.solrize_term(term, fake_solr_doc)
103
+
104
+ fake_solr_doc["name_0_namePart_t"].sort.should == ["DR.", "FAMILY NAME", "GIVEN NAMES"]
105
+ end
88
106
 
89
107
  end
90
108
 
metadata CHANGED
@@ -1,195 +1,219 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: solrizer
3
- version: !ruby/object:Gem::Version
4
- hash: -2879808512
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0.rc2
5
5
  prerelease: 6
6
- segments:
7
- - 2
8
- - 0
9
- - 0
10
- - rc
11
- - 1
12
- version: 2.0.0.rc1
13
6
  platform: ruby
14
- authors:
7
+ authors:
15
8
  - Matt Zumwalt
16
9
  autorequire:
17
10
  bindir: bin
18
11
  cert_chain: []
19
-
20
- date: 2012-10-15 00:00:00 -05:00
21
- default_executable:
22
- dependencies:
23
- - !ruby/object:Gem::Dependency
12
+ date: 2012-10-25 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
24
15
  name: nokogiri
25
- prerelease: false
26
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
27
17
  none: false
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- hash: 3
32
- segments:
33
- - 0
34
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
35
22
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: om
39
23
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
41
25
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 3
46
- segments:
47
- - 1
48
- - 5
49
- - 0
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: om
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
50
37
  version: 1.5.0
51
38
  type: :runtime
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
54
- name: xml-simple
55
39
  prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ version_requirements: !ruby/object:Gem::Requirement
57
41
  none: false
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- hash: 3
62
- segments:
63
- - 0
64
- version: "0"
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 1.5.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: xml-simple
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
65
54
  type: :runtime
66
- version_requirements: *id003
67
- - !ruby/object:Gem::Dependency
68
- name: mediashelf-loggable
69
55
  prerelease: false
70
- requirement: &id004 !ruby/object:Gem::Requirement
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: mediashelf-loggable
64
+ requirement: !ruby/object:Gem::Requirement
71
65
  none: false
72
- requirements:
66
+ requirements:
73
67
  - - ~>
74
- - !ruby/object:Gem::Version
75
- hash: 1
76
- segments:
77
- - 0
78
- - 4
79
- - 7
68
+ - !ruby/object:Gem::Version
80
69
  version: 0.4.7
81
70
  type: :runtime
82
- version_requirements: *id004
83
- - !ruby/object:Gem::Dependency
84
- name: stomp
85
71
  prerelease: false
86
- requirement: &id005 !ruby/object:Gem::Requirement
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 0.4.7
78
+ - !ruby/object:Gem::Dependency
79
+ name: stomp
80
+ requirement: !ruby/object:Gem::Requirement
87
81
  none: false
88
- requirements:
89
- - - ">="
90
- - !ruby/object:Gem::Version
91
- hash: 3
92
- segments:
93
- - 0
94
- version: "0"
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
95
86
  type: :runtime
96
- version_requirements: *id005
97
- - !ruby/object:Gem::Dependency
98
- name: daemons
99
87
  prerelease: false
100
- requirement: &id006 !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
101
89
  none: false
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- hash: 3
106
- segments:
107
- - 0
108
- version: "0"
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: daemons
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
109
102
  type: :runtime
110
- version_requirements: *id006
111
- - !ruby/object:Gem::Dependency
112
- name: rspec
113
103
  prerelease: false
114
- requirement: &id007 !ruby/object:Gem::Requirement
104
+ version_requirements: !ruby/object:Gem::Requirement
115
105
  none: false
116
- requirements:
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rspec
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
117
115
  - - ~>
118
- - !ruby/object:Gem::Version
119
- hash: 3
120
- segments:
121
- - 2
122
- - 0
123
- version: "2.0"
116
+ - !ruby/object:Gem::Version
117
+ version: '2.0'
124
118
  type: :development
125
- version_requirements: *id007
126
- - !ruby/object:Gem::Dependency
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '2.0'
126
+ - !ruby/object:Gem::Dependency
127
127
  name: rake
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :development
128
135
  prerelease: false
129
- requirement: &id008 !ruby/object:Gem::Requirement
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: rdoc
144
+ requirement: !ruby/object:Gem::Requirement
130
145
  none: false
131
- requirements:
132
- - - ">="
133
- - !ruby/object:Gem::Version
134
- hash: 3
135
- segments:
136
- - 0
137
- version: "0"
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
138
150
  type: :development
139
- version_requirements: *id008
140
- - !ruby/object:Gem::Dependency
141
- name: mocha
142
151
  prerelease: false
143
- requirement: &id009 !ruby/object:Gem::Requirement
152
+ version_requirements: !ruby/object:Gem::Requirement
144
153
  none: false
145
- requirements:
146
- - - ">="
147
- - !ruby/object:Gem::Version
148
- hash: 3
149
- segments:
150
- - 0
151
- version: "0"
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: mocha
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
152
166
  type: :development
153
- version_requirements: *id009
154
- - !ruby/object:Gem::Dependency
155
- name: yard
156
167
  prerelease: false
157
- requirement: &id010 !ruby/object:Gem::Requirement
168
+ version_requirements: !ruby/object:Gem::Requirement
158
169
  none: false
159
- requirements:
160
- - - ">="
161
- - !ruby/object:Gem::Version
162
- hash: 3
163
- segments:
164
- - 0
165
- version: "0"
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: yard
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
166
182
  type: :development
167
- version_requirements: *id010
168
- - !ruby/object:Gem::Dependency
169
- name: RedCloth
170
183
  prerelease: false
171
- requirement: &id011 !ruby/object:Gem::Requirement
184
+ version_requirements: !ruby/object:Gem::Requirement
172
185
  none: false
173
- requirements:
174
- - - ">="
175
- - !ruby/object:Gem::Version
176
- hash: 3
177
- segments:
178
- - 0
179
- version: "0"
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ - !ruby/object:Gem::Dependency
191
+ name: RedCloth
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
180
198
  type: :development
181
- version_requirements: *id011
182
- description: Use solrizer to populate solr indexes. You can run solrizer from within your app, using the provided rake tasks, or as a JMS listener
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
206
+ description: Use solrizer to populate solr indexes. You can run solrizer from within
207
+ your app, using the provided rake tasks, or as a JMS listener
183
208
  email: hydra-tech@googlegroups.com
184
- executables:
209
+ executables:
185
210
  - solrizer
186
211
  - solrizerd
187
212
  extensions: []
188
-
189
- extra_rdoc_files:
213
+ extra_rdoc_files:
190
214
  - LICENSE
191
215
  - README.textile
192
- files:
216
+ files:
193
217
  - .gitignore
194
218
  - Gemfile
195
219
  - History.txt
@@ -232,43 +256,32 @@ files:
232
256
  - spec/units/field_name_mapper_spec.rb
233
257
  - spec/units/xml_extractor_spec.rb
234
258
  - spec/units/xml_terminology_based_solrizer_spec.rb
235
- has_rdoc: true
236
259
  homepage: http://github.com/projecthydra/solrizer
237
260
  licenses: []
238
-
239
261
  post_install_message:
240
262
  rdoc_options: []
241
-
242
- require_paths:
263
+ require_paths:
243
264
  - lib
244
- required_ruby_version: !ruby/object:Gem::Requirement
265
+ required_ruby_version: !ruby/object:Gem::Requirement
245
266
  none: false
246
- requirements:
247
- - - ">="
248
- - !ruby/object:Gem::Version
249
- hash: 3
250
- segments:
251
- - 0
252
- version: "0"
253
- required_rubygems_version: !ruby/object:Gem::Requirement
267
+ requirements:
268
+ - - ! '>='
269
+ - !ruby/object:Gem::Version
270
+ version: '0'
271
+ required_rubygems_version: !ruby/object:Gem::Requirement
254
272
  none: false
255
- requirements:
256
- - - ">"
257
- - !ruby/object:Gem::Version
258
- hash: 25
259
- segments:
260
- - 1
261
- - 3
262
- - 1
273
+ requirements:
274
+ - - ! '>'
275
+ - !ruby/object:Gem::Version
263
276
  version: 1.3.1
264
277
  requirements: []
265
-
266
278
  rubyforge_project:
267
- rubygems_version: 1.6.2
279
+ rubygems_version: 1.8.24
268
280
  signing_key:
269
281
  specification_version: 3
270
- summary: A utility for building solr indexes, usually from Fedora repository content with solrizer-fedora extension gem.
271
- test_files:
282
+ summary: A utility for building solr indexes, usually from Fedora repository content
283
+ with solrizer-fedora extension gem.
284
+ test_files:
272
285
  - spec/fixtures/druid-bv448hq0314-descMetadata.xml
273
286
  - spec/fixtures/druid-bv448hq0314-extProperties.xml
274
287
  - spec/fixtures/druid-cm234kq4672-extProperties.xml
@@ -283,3 +296,4 @@ test_files:
283
296
  - spec/units/field_name_mapper_spec.rb
284
297
  - spec/units/xml_extractor_spec.rb
285
298
  - spec/units/xml_terminology_based_solrizer_spec.rb
299
+ has_rdoc: