solrizer-fedora 2.0.0.rc2 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,15 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- solrizer-fedora (2.0.0.rc2)
5
- active-fedora (~> 4.0.0.rc15)
6
- fastercsv
4
+ solrizer-fedora (2.0.0)
5
+ active-fedora (~> 4.0.0)
7
6
 
8
7
  GEM
9
8
  remote: http://rubygems.org/
10
9
  specs:
11
10
  RedCloth (4.2.9)
12
- active-fedora (4.0.0.rc15)
11
+ active-fedora (4.0.0)
13
12
  activeresource (>= 3.0.0)
14
13
  activesupport (>= 3.0.0)
15
14
  equivalent-xml
@@ -17,11 +16,11 @@ GEM
17
16
  mime-types (>= 1.16)
18
17
  multipart-post (= 1.1.2)
19
18
  nokogiri
20
- om (>= 1.5.3)
19
+ om (~> 1.6.0)
21
20
  rdf
22
21
  rdf-rdfxml (= 0.3.5)
23
22
  rsolr
24
- rubydora (~> 0.5.7)
23
+ rubydora (~> 0.5.8)
25
24
  solrizer (~> 1.2.0)
26
25
  xml-simple (>= 1.0.12)
27
26
  activemodel (3.0.11)
@@ -64,18 +63,18 @@ GEM
64
63
  logger (1.2.8)
65
64
  mediashelf-loggable (0.4.9)
66
65
  metaclass (0.0.1)
67
- mime-types (1.17.2)
66
+ mime-types (1.18)
68
67
  mocha (0.10.0)
69
68
  metaclass (~> 0.0.1)
70
69
  multipart-post (1.1.2)
71
70
  nokogiri (1.5.2)
72
71
  nori (1.1.0)
73
- om (1.5.3)
72
+ om (1.6.0)
74
73
  mediashelf-loggable
75
74
  nokogiri (>= 1.4.2)
76
75
  rack (1.4.1)
77
76
  rake (0.9.2.2)
78
- rdf (0.3.5.1)
77
+ rdf (0.3.5.2)
79
78
  addressable (>= 2.2.6)
80
79
  rdf-rdfxml (0.3.5)
81
80
  nokogiri (>= 1.4.4)
@@ -84,7 +83,7 @@ GEM
84
83
  json (~> 1.4)
85
84
  rest-client (1.6.7)
86
85
  mime-types (>= 1.16)
87
- rsolr (1.0.7)
86
+ rsolr (1.0.8)
88
87
  builder (>= 2.1.2)
89
88
  rspec (2.6.0)
90
89
  rspec-core (~> 2.6.0)
@@ -94,7 +93,7 @@ GEM
94
93
  rspec-expectations (2.6.0)
95
94
  diff-lcs (~> 1.1.2)
96
95
  rspec-mocks (2.6.0)
97
- rubydora (0.5.7)
96
+ rubydora (0.5.8)
98
97
  activemodel
99
98
  activesupport
100
99
  fastercsv
@@ -117,7 +116,7 @@ GEM
117
116
  om (>= 1.5.0)
118
117
  stomp
119
118
  xml-simple
120
- stomp (1.2.1)
119
+ stomp (1.2.2)
121
120
  wasabi (2.1.0)
122
121
  nokogiri (>= 1.4.0)
123
122
  xml-simple (1.1.1)
@@ -7,9 +7,6 @@ require 'solrizer/html'
7
7
 
8
8
  require 'active_support/core_ext/hash'
9
9
 
10
- require 'fastercsv' # this is used by solrize_objects when you pass it a csv file of pids
11
-
12
-
13
10
  module Solrizer::Fedora
14
11
  class Solrizer
15
12
  ALL_FIELDS = [
@@ -95,47 +92,27 @@ module Solrizer::Fedora
95
92
  puts "WARNING: You have turned off indexing of Full Text content. Be sure to re-run indexer with @@index_full_text set to true in main.rb" if index_full_text == false
96
93
 
97
94
  if @@index_list == false
98
-
99
- objects = find_objects(:limit=>num_docs)
100
-
101
- puts "Shelving #{objects.length} Fedora objects"
102
- objects.each do |object|
103
- solrize( object, opts )
104
- end
105
-
95
+ solrize_from_fedora_search(opts)
106
96
  else
107
- if File.exists?(@@index_list)
108
- arr_of_pids = FasterCSV.read(@@index_list, :headers=>false)
109
-
110
- puts "Indexing from list at #{@@index_list}"
111
- puts "Shelving #{arr_of_pids.length} Fedora objects"
112
-
113
- arr_of_pids.each do |row|
114
- pid = row[0]
115
- solrize( pid )
116
- end #FASTERCSV
117
- else
118
- puts "#{@@index_list} does not exists!"
119
- end #if File.exists
120
-
121
- end #if Index_LISTS
122
- end #solrize_objects
123
-
124
- def find_objects(*args)
125
- raise ArgumentError, "Missing query string" unless args.length >= 1
126
- options = args.last.is_a?(Hash) ? args.pop : {}
97
+ solrize_from_csv
98
+ end
99
+ end
127
100
 
128
- params = {}
129
- params[:query] = ''
130
- params[:maxResults] = options[:limit] if options[:limit]
131
- params[:pid] = true
132
-
133
- pids = []
134
- connections.each do |conn|
135
- response = Hash.from_xml(conn.find_objects(params))
136
- pids << response["result"]["resultList"]["objectFields"].map{|x| x["pid"]}
101
+ def solrize_from_fedora_search(opts)
102
+ connections.each do |conn|
103
+ conn.search(nil) do |object|
104
+ solrize( object.pid, opts )
137
105
  end
138
- pids.flatten
106
+ end
107
+ end
108
+
109
+ def solrize_from_csv
110
+ raise ArgumentException, "#{@@index_list} does not exists!" unless File.exists?(@@index_list)
111
+ puts "Indexing from list at #{@@index_list}"
112
+ CSV.foreach(@@index_list) do |row|
113
+ pid = row[0]
114
+ solrize( pid )
115
+ end
139
116
  end
140
117
 
141
118
  private
@@ -1,5 +1,5 @@
1
1
  module Solrizer
2
2
  module Fedora
3
- VERSION = "2.0.0.rc2"
3
+ VERSION = "2.0.0"
4
4
  end
5
5
  end
@@ -20,11 +20,7 @@ Gem::Specification.new do |s|
20
20
 
21
21
  s.rubyforge_project = "solrizer-fedora"
22
22
 
23
- s.add_dependency('active-fedora', '~> 4.0.0.rc15')
24
- # s.add_dependency('rsolr', '>=1.0.6')
25
- # s.add_dependency('solrizer', '>=1.0.0')
26
- s.add_dependency('fastercsv') # this is used by solrize_objects when you pass it a csv file of pids
27
- # s.add_dependency('activesupport', '>=3.0.11')
23
+ s.add_dependency('active-fedora', '~> 4.0.0')
28
24
  s.add_development_dependency('jettywrapper', '>=1.1.0')
29
25
  s.add_development_dependency('rdoc')
30
26
 
@@ -31,40 +31,36 @@ describe Solrizer::Fedora::Solrizer do
31
31
 
32
32
  end
33
33
 
34
- describe "find_objects" do
35
- describe "when fedora is not sharded" do
36
- it "should find_objects" do
37
- @solrizer.find_objects(:limit=>2).should == ["fedora-system:ContentModel-3.0", "fedora-system:FedoraObject-3.0"]
38
- end
39
- end
34
+ describe "solrize_objects" do
40
35
  describe "when fedora is sharded" do
41
36
  before do
42
37
  @mock1 = mock("connection1")
43
38
  @mock2 = mock("connection2")
44
39
  @solrizer.expects(:connections).returns([@mock1, @mock2])
40
+ @mock1.expects(:search).yields(stub('obj', :pid=>'one'))
41
+ @mock2.expects(:search).yields(stub('obj', :pid=>'two'))
45
42
  end
46
43
  it "should hit all the shards" do
47
- @mock1.expects(:find_objects).returns("<result><resultList><objectFields><pid>one</pid></objectFields><objectFields><pid>two</pid></objectFields></resultList></result>")
48
- @mock2.expects(:find_objects).returns("<result><resultList><objectFields><pid>three</pid></objectFields><objectFields><pid>four</pid></objectFields></resultList></result>")
49
-
50
- @solrizer.find_objects(:limit=>2).should == ['one', 'two', 'three', 'four']
44
+ @solrizer.expects(:solrize).with('one', {})
45
+ @solrizer.expects(:solrize).with('two', {})
46
+ @solrizer.solrize_objects()
51
47
  end
52
48
  end
53
49
 
54
- end
55
-
56
- describe "solrize_objects" do
57
- before do
58
- @objects = ["pid1", "pid2", "pid3"]
59
- @solrizer.expects(:find_objects).returns(@objects)
60
- end
61
- it "should call solrize for each object returned by Fedora::Repository.find_objects" do
62
- @objects.each {|x| @solrizer.expects(:solrize).with( x, {}) }
63
- @solrizer.solrize_objects
64
- end
65
- it "should pass optional suppress_errors argument into .solrize method" do
66
- @objects.each {|x| @solrizer.expects(:solrize).with( x, :suppress_errors => true ) }
67
- @solrizer.solrize_objects( :suppress_errors => true )
50
+ describe "with one connection" do
51
+ before do
52
+ @mock1 = mock("connection1")
53
+ @solrizer.expects(:connections).returns([@mock1])
54
+ @mock1.expects(:search).yields(stub('obj', :pid=>'one'))
55
+ end
56
+ it "should solrize_objects" do
57
+ @solrizer.expects(:solrize).with('one', {})
58
+ @solrizer.solrize_objects()
59
+ end
60
+ it "should pass optional suppress_errors argument into .solrize method" do
61
+ @solrizer.expects(:solrize).with( 'one', :suppress_errors => true )
62
+ @solrizer.solrize_objects( :suppress_errors => true )
63
+ end
68
64
  end
69
65
  end
70
66
  end
metadata CHANGED
@@ -1,15 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solrizer-fedora
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15424081
5
- prerelease: 6
4
+ hash: 15
5
+ prerelease:
6
6
  segments:
7
7
  - 2
8
8
  - 0
9
9
  - 0
10
- - rc
11
- - 2
12
- version: 2.0.0.rc2
10
+ version: 2.0.0
13
11
  platform: ruby
14
12
  authors:
15
13
  - Matt Zumwalt
@@ -17,7 +15,7 @@ autorequire:
17
15
  bindir: bin
18
16
  cert_chain: []
19
17
 
20
- date: 2012-03-20 00:00:00 Z
18
+ date: 2012-04-23 00:00:00 Z
21
19
  dependencies:
22
20
  - !ruby/object:Gem::Dependency
23
21
  name: active-fedora
@@ -27,34 +25,18 @@ dependencies:
27
25
  requirements:
28
26
  - - ~>
29
27
  - !ruby/object:Gem::Version
30
- hash: 15424139
28
+ hash: 63
31
29
  segments:
32
30
  - 4
33
31
  - 0
34
32
  - 0
35
- - rc
36
- - 15
37
- version: 4.0.0.rc15
33
+ version: 4.0.0
38
34
  type: :runtime
39
35
  version_requirements: *id001
40
- - !ruby/object:Gem::Dependency
41
- name: fastercsv
42
- prerelease: false
43
- requirement: &id002 !ruby/object:Gem::Requirement
44
- none: false
45
- requirements:
46
- - - ">="
47
- - !ruby/object:Gem::Version
48
- hash: 3
49
- segments:
50
- - 0
51
- version: "0"
52
- type: :runtime
53
- version_requirements: *id002
54
36
  - !ruby/object:Gem::Dependency
55
37
  name: jettywrapper
56
38
  prerelease: false
57
- requirement: &id003 !ruby/object:Gem::Requirement
39
+ requirement: &id002 !ruby/object:Gem::Requirement
58
40
  none: false
59
41
  requirements:
60
42
  - - ">="
@@ -66,11 +48,11 @@ dependencies:
66
48
  - 0
67
49
  version: 1.1.0
68
50
  type: :development
69
- version_requirements: *id003
51
+ version_requirements: *id002
70
52
  - !ruby/object:Gem::Dependency
71
53
  name: rdoc
72
54
  prerelease: false
73
- requirement: &id004 !ruby/object:Gem::Requirement
55
+ requirement: &id003 !ruby/object:Gem::Requirement
74
56
  none: false
75
57
  requirements:
76
58
  - - ">="
@@ -80,7 +62,7 @@ dependencies:
80
62
  - 0
81
63
  version: "0"
82
64
  type: :development
83
- version_requirements: *id004
65
+ version_requirements: *id003
84
66
  description: An extension to projecthydra/solrizer that provides utilities for loading objects from Fedora Repositories and creating solr documents from them.
85
67
  email: matt.zumwalt@yourmediashelf.com
86
68
  executables: []
@@ -143,14 +125,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
143
125
  required_rubygems_version: !ruby/object:Gem::Requirement
144
126
  none: false
145
127
  requirements:
146
- - - ">"
128
+ - - ">="
147
129
  - !ruby/object:Gem::Version
148
- hash: 25
130
+ hash: 3
149
131
  segments:
150
- - 1
151
- - 3
152
- - 1
153
- version: 1.3.1
132
+ - 0
133
+ version: "0"
154
134
  requirements: []
155
135
 
156
136
  rubyforge_project: solrizer-fedora