solrizer-fedora 2.0.0.rc2 → 2.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/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