active-fedora 1.0.5 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (246) hide show
  1. data/.document +5 -0
  2. data/.gitignore +21 -0
  3. data/.hg/00changelog.i +0 -0
  4. data/.hg/branch +1 -0
  5. data/.hg/branch.cache +2 -0
  6. data/.hg/dirstate +0 -0
  7. data/.hg/hgrc +2 -0
  8. data/.hg/requires +2 -0
  9. data/.hg/store/00changelog.i +0 -0
  10. data/.hg/store/00manifest.i +0 -0
  11. data/.hg/store/data/.hgignore.i +0 -0
  12. data/.hg/store/data/.hgtags.i +0 -0
  13. data/.hg/store/data/_c_o_p_y_i_n_g.txt.i +0 -0
  14. data/.hg/store/data/_c_o_y_i_n_g._l_e_s_s_e_r.txt.i +0 -0
  15. data/.hg/store/data/_history.txt.i +0 -0
  16. data/.hg/store/data/_license.txt.i +0 -0
  17. data/.hg/store/data/_manifest.txt.i +0 -0
  18. data/.hg/store/data/_post_install.txt.i +0 -0
  19. data/.hg/store/data/_r_e_a_d_m_e.rdoc.i +0 -0
  20. data/.hg/store/data/_r_e_a_d_m_e.txt.i +0 -0
  21. data/.hg/store/data/_rakefile.i +0 -0
  22. data/.hg/store/data/_v_e_r_s_i_o_n.i +0 -0
  23. data/.hg/store/data/active-fedora.gemspec.i +0 -0
  24. data/.hg/store/data/active__fedora/_history.txt.i +0 -0
  25. data/.hg/store/data/active__fedora/_manifest.txt.i +0 -0
  26. data/.hg/store/data/active__fedora/_post_install.txt.i +0 -0
  27. data/.hg/store/data/active__fedora/_r_e_a_d_m_e.rdoc.i +0 -0
  28. data/.hg/store/data/active__fedora/_rakefile.i +0 -0
  29. data/.hg/store/data/active__fedora/lib/active__fedora.rb.i +0 -0
  30. data/.hg/store/data/active__fedora/script/console.i +0 -0
  31. data/.hg/store/data/active__fedora/script/destroy.i +0 -0
  32. data/.hg/store/data/active__fedora/script/generate.i +0 -0
  33. data/.hg/store/data/active__fedora/spec/active__fedora__spec.rb.i +0 -0
  34. data/.hg/store/data/active__fedora/spec/spec__helper.rb.i +0 -0
  35. data/.hg/store/data/config/fedora.yml.i +0 -0
  36. data/.hg/store/data/config/solr__mappings.yml.i +0 -0
  37. data/.hg/store/data/config/solr__mappings__af__0.1.yml.i +0 -0
  38. data/.hg/store/data/config/solr__mappings__bl__2.4.yml.i +0 -0
  39. data/.hg/store/data/lib/active-fedora.rb.i +0 -0
  40. data/.hg/store/data/lib/active__fedora.rb.i +0 -0
  41. data/.hg/store/data/lib/active__fedora/base.rb.i +0 -0
  42. data/.hg/store/data/lib/active__fedora/content__model.rb.i +0 -0
  43. data/.hg/store/data/lib/active__fedora/datastream.rb.i +0 -0
  44. data/.hg/store/data/lib/active__fedora/fedora__object.rb.i +0 -0
  45. data/.hg/store/data/lib/active__fedora/metadata__datastream.rb.i +0 -0
  46. data/.hg/store/data/lib/active__fedora/model.rb.i +0 -0
  47. data/.hg/store/data/lib/active__fedora/property.rb.i +0 -0
  48. data/.hg/store/data/lib/active__fedora/qualified__dublin__core__datastream.rb.i +0 -0
  49. data/.hg/store/data/lib/active__fedora/relationship.rb.i +0 -0
  50. data/.hg/store/data/lib/active__fedora/rels__ext__datastream.rb.i +0 -0
  51. data/.hg/store/data/lib/active__fedora/semantic__node.rb.i +0 -0
  52. data/.hg/store/data/lib/active__fedora/solr__mapper.rb.i +0 -0
  53. data/.hg/store/data/lib/active__fedora/solr__service.rb.i +0 -0
  54. data/.hg/store/data/lib/fedora/base.rb.i +0 -0
  55. data/.hg/store/data/lib/fedora/connection.rb.i +0 -0
  56. data/.hg/store/data/lib/fedora/datastream.rb.i +0 -0
  57. data/.hg/store/data/lib/fedora/fedora__object.rb.i +0 -0
  58. data/.hg/store/data/lib/fedora/formats.rb.i +0 -0
  59. data/.hg/store/data/lib/fedora/generic__search.rb.i +0 -0
  60. data/.hg/store/data/lib/fedora/repository.rb.i +0 -0
  61. data/.hg/store/data/lib/ruby-fedora.rb.i +0 -0
  62. data/.hg/store/data/lib/util/class__level__inheritable__attributes.rb.i +0 -0
  63. data/.hg/store/data/script/console.i +0 -0
  64. data/.hg/store/data/script/destroy.i +0 -0
  65. data/.hg/store/data/script/generate.i +0 -0
  66. data/.hg/store/data/solr/config/schema-1.5.xml.i +0 -0
  67. data/.hg/store/data/solr/config/schema.xml.i +0 -0
  68. data/.hg/store/data/solr/config/solrconfig-1.5.xml.i +0 -0
  69. data/.hg/store/data/spec/fixtures/changeme155.xml.i +0 -0
  70. data/.hg/store/data/spec/fixtures/dino.jpg.i +0 -0
  71. data/.hg/store/data/spec/fixtures/minivan.jpg.d +0 -0
  72. data/.hg/store/data/spec/fixtures/minivan.jpg.i +0 -0
  73. data/.hg/store/data/spec/fixtures/test__12.foxml.xml.i +0 -0
  74. data/.hg/store/data/spec/integration/active__fedora/base__spec.rb.i +0 -0
  75. data/.hg/store/data/spec/integration/active__fedora/datastream__spec.rb.i +0 -0
  76. data/.hg/store/data/spec/integration/active__fedora/fedora__object__spec.rb.i +0 -0
  77. data/.hg/store/data/spec/integration/active__fedora/full__featured__model__spec.rb.i +0 -0
  78. data/.hg/store/data/spec/integration/active__fedora/model__spec.rb.i +0 -0
  79. data/.hg/store/data/spec/integration/active__fedora/rels__ext__datastream__spec.rb.i +0 -0
  80. data/.hg/store/data/spec/integration/active__fedora/semantic__node__spec.rb.i +0 -0
  81. data/.hg/store/data/spec/integration/base__file__management__spec.rb.i +0 -0
  82. data/.hg/store/data/spec/integration/base__spec.rb.i +0 -0
  83. data/.hg/store/data/spec/integration/bug__spec.rb.i +0 -0
  84. data/.hg/store/data/spec/integration/datastream__spec.rb.i +0 -0
  85. data/.hg/store/data/spec/integration/datastreams__crud__spec.rb.i +0 -0
  86. data/.hg/store/data/spec/integration/fedora__object__spec.rb.i +0 -0
  87. data/.hg/store/data/spec/integration/full__featured__model__spec.rb.i +0 -0
  88. data/.hg/store/data/spec/integration/model__spec.rb.i +0 -0
  89. data/.hg/store/data/spec/integration/rels__ext__datastream__spec.rb.i +0 -0
  90. data/.hg/store/data/spec/integration/repository__spec.rb.i +0 -0
  91. data/.hg/store/data/spec/integration/rf__fedora__object__spec.rb.i +0 -0
  92. data/.hg/store/data/spec/integration/semantic__node__spec.rb.i +0 -0
  93. data/.hg/store/data/spec/integration/solr__service__spec.rb.i +0 -0
  94. data/.hg/store/data/spec/samples/models/audio__record.rb.i +0 -0
  95. data/.hg/store/data/spec/samples/models/image.rb.i +0 -0
  96. data/.hg/store/data/spec/samples/models/oral__history.rb.i +0 -0
  97. data/.hg/store/data/spec/samples/models/seminar.rb.i +0 -0
  98. data/.hg/store/data/spec/samples/models/seminar__audio__file.rb.i +0 -0
  99. data/.hg/store/data/spec/samples/oh__qdc.xml.i +0 -0
  100. data/.hg/store/data/spec/samples/oral__history.rb.i +0 -0
  101. data/.hg/store/data/spec/samples/oral__history__sample.xml.i +0 -0
  102. data/.hg/store/data/spec/samples/oral__history__sample__model.rb.i +0 -0
  103. data/.hg/store/data/spec/samples/oral__history__xml.xml.i +0 -0
  104. data/.hg/store/data/spec/spec.opts.i +0 -0
  105. data/.hg/store/data/spec/spec__helper.rb.i +0 -0
  106. data/.hg/store/data/spec/unit/active__fedora/base__cma__spec.rb.i +0 -0
  107. data/.hg/store/data/spec/unit/active__fedora/base__extra__spec.rb.i +0 -0
  108. data/.hg/store/data/spec/unit/active__fedora/base__spec.rb.i +0 -0
  109. data/.hg/store/data/spec/unit/active__fedora/content__model__spec.rb.i +0 -0
  110. data/.hg/store/data/spec/unit/active__fedora/datastream__spec.rb.i +0 -0
  111. data/.hg/store/data/spec/unit/active__fedora/inheritance__spec.rb.i +0 -0
  112. data/.hg/store/data/spec/unit/active__fedora/metadata__datastream__spec.rb.i +0 -0
  113. data/.hg/store/data/spec/unit/active__fedora/model__spec.rb.i +0 -0
  114. data/.hg/store/data/spec/unit/active__fedora/property__spec.rb.i +0 -0
  115. data/.hg/store/data/spec/unit/active__fedora/qualified__dublin__core__datastream__spec.rb.i +0 -0
  116. data/.hg/store/data/spec/unit/active__fedora/relationship__spec.rb.i +0 -0
  117. data/.hg/store/data/spec/unit/active__fedora/rels__ext__datastream__spec.rb.i +0 -0
  118. data/.hg/store/data/spec/unit/active__fedora/semantic__node__spec.rb.i +0 -0
  119. data/.hg/store/data/spec/unit/active__fedora/solr__service__spec.rb.i +0 -0
  120. data/.hg/store/data/spec/unit/active__fedora__spec.rb.i +0 -0
  121. data/.hg/store/data/spec/unit/base__cma__spec.rb.i +0 -0
  122. data/.hg/store/data/spec/unit/base__datastream__management__spec.rb.i +0 -0
  123. data/.hg/store/data/spec/unit/base__extra__spec.rb.i +0 -0
  124. data/.hg/store/data/spec/unit/base__file__management__spec.rb.i +0 -0
  125. data/.hg/store/data/spec/unit/base__loader__spec.rb.i +0 -0
  126. data/.hg/store/data/spec/unit/base__spec.rb.i +0 -0
  127. data/.hg/store/data/spec/unit/connection__spec.rb.i +0 -0
  128. data/.hg/store/data/spec/unit/content__model__spec.rb.i +0 -0
  129. data/.hg/store/data/spec/unit/datastream__concurrency__spec.rb.i +0 -0
  130. data/.hg/store/data/spec/unit/datastream__spec.rb.i +0 -0
  131. data/.hg/store/data/spec/unit/fedora__object__spec.rb.i +0 -0
  132. data/.hg/store/data/spec/unit/inheritance__spec.rb.i +0 -0
  133. data/.hg/store/data/spec/unit/metadata__datastream__spec.rb.i +0 -0
  134. data/.hg/store/data/spec/unit/model__spec.rb.i +0 -0
  135. data/.hg/store/data/spec/unit/property__spec.rb.i +0 -0
  136. data/.hg/store/data/spec/unit/qualified__dublin__core__datastream__spec.rb.i +0 -0
  137. data/.hg/store/data/spec/unit/relationship__spec.rb.i +0 -0
  138. data/.hg/store/data/spec/unit/rels__ext__datastream__spec.rb.i +0 -0
  139. data/.hg/store/data/spec/unit/repository__spec.rb.i +0 -0
  140. data/.hg/store/data/spec/unit/rf__datastream__spec.rb.i +0 -0
  141. data/.hg/store/data/spec/unit/semantic__node__spec.rb.i +0 -0
  142. data/.hg/store/data/spec/unit/solr__config__options__spec.rb.i +0 -0
  143. data/.hg/store/data/spec/unit/solr__mapper__spec.rb.i +0 -0
  144. data/.hg/store/data/spec/unit/solr__service__spec.rb.i +0 -0
  145. data/.hg/store/data/tasks/rspec.rake.i +0 -0
  146. data/.hg/store/undo +0 -0
  147. data/.hg/undo.branch +1 -0
  148. data/.hg/undo.dirstate +0 -0
  149. data/.hgignore +7 -0
  150. data/.hgtags +14 -0
  151. data/COPYING.txt +674 -0
  152. data/COYING.LESSER.txt +165 -0
  153. data/History.txt +34 -0
  154. data/LICENSE +20 -0
  155. data/License.txt +58 -0
  156. data/Manifest.txt +1 -1
  157. data/README.rdoc +13 -54
  158. data/README.txt +59 -0
  159. data/Rakefile +35 -0
  160. data/VERSION +1 -0
  161. data/active-fedora.gemspec +359 -0
  162. data/config/fedora.yml +16 -0
  163. data/config/solr_mappings.yml +14 -0
  164. data/config/solr_mappings_af_0.1.yml +16 -0
  165. data/config/solr_mappings_bl_2.4.yml +14 -0
  166. data/lib/active_fedora.rb +66 -6
  167. data/lib/active_fedora/base.rb +59 -23
  168. data/lib/active_fedora/datastream.rb +1 -1
  169. data/lib/active_fedora/metadata_datastream.rb +14 -7
  170. data/lib/active_fedora/model.rb +4 -4
  171. data/lib/active_fedora/rels_ext_datastream.rb +1 -1
  172. data/lib/active_fedora/semantic_node.rb +4 -3
  173. data/lib/active_fedora/solr_mapper.rb +17 -0
  174. data/lib/active_fedora/solr_service.rb +44 -2
  175. data/lib/fedora/base.rb +38 -0
  176. data/lib/fedora/connection.rb +210 -0
  177. data/lib/fedora/datastream.rb +56 -0
  178. data/lib/fedora/fedora_object.rb +161 -0
  179. data/lib/fedora/formats.rb +30 -0
  180. data/lib/fedora/generic_search.rb +71 -0
  181. data/lib/fedora/repository.rb +287 -0
  182. data/lib/ruby-fedora.rb +20 -0
  183. data/lib/util/class_level_inheritable_attributes.rb +23 -0
  184. data/script/console +15 -0
  185. data/script/destroy +14 -0
  186. data/script/generate +14 -0
  187. data/solr/config/schema-1.5.xml +468 -0
  188. data/solr/config/schema.xml +174 -212
  189. data/solr/config/solrconfig-1.5.xml +1069 -0
  190. data/spec/active_fedora_spec.rb +7 -0
  191. data/spec/fixtures/changeme155.xml +255 -0
  192. data/spec/fixtures/dino.jpg +0 -0
  193. data/spec/fixtures/minivan.jpg +0 -0
  194. data/spec/fixtures/test_12.foxml.xml +121 -0
  195. data/spec/integration/base_file_management_spec.rb +20 -0
  196. data/spec/integration/base_spec.rb +196 -0
  197. data/spec/integration/bug_spec.rb +57 -0
  198. data/spec/integration/datastream_spec.rb +60 -0
  199. data/spec/integration/datastreams_crud_spec.rb +208 -0
  200. data/spec/integration/fedora_object_spec.rb +77 -0
  201. data/spec/integration/full_featured_model_spec.rb +207 -0
  202. data/spec/integration/model_spec.rb +54 -0
  203. data/spec/integration/rels_ext_datastream_spec.rb +67 -0
  204. data/spec/integration/repository_spec.rb +297 -0
  205. data/spec/integration/rf_fedora_object_spec.rb +95 -0
  206. data/spec/integration/semantic_node_spec.rb +95 -0
  207. data/spec/integration/solr_service_spec.rb +33 -0
  208. data/spec/samples/models/audio_record.rb +29 -0
  209. data/spec/samples/models/image.rb +5 -0
  210. data/spec/samples/models/oral_history.rb +50 -0
  211. data/spec/samples/models/seminar.rb +29 -0
  212. data/spec/samples/models/seminar_audio_file.rb +34 -0
  213. data/spec/samples/oh_qdc.xml +32 -0
  214. data/spec/samples/oral_history_sample.xml +38 -0
  215. data/spec/samples/oral_history_sample_model.rb +39 -0
  216. data/spec/samples/oral_history_xml.xml +35 -0
  217. data/spec/spec.opts +5 -0
  218. data/spec/spec_helper.rb +41 -0
  219. data/spec/unit/active_fedora_spec.rb +15 -0
  220. data/spec/unit/base_cma_spec.rb +25 -0
  221. data/spec/unit/base_datastream_management_spec.rb +119 -0
  222. data/spec/unit/base_extra_spec.rb +108 -0
  223. data/spec/unit/base_file_management_spec.rb +90 -0
  224. data/spec/unit/base_loader_spec.rb +43 -0
  225. data/spec/unit/base_spec.rb +584 -0
  226. data/spec/unit/connection_spec.rb +25 -0
  227. data/spec/unit/content_model_spec.rb +51 -0
  228. data/spec/unit/datastream_concurrency_spec.rb +59 -0
  229. data/spec/unit/datastream_spec.rb +85 -0
  230. data/spec/unit/fedora_object_spec.rb +66 -0
  231. data/spec/unit/inheritance_spec.rb +46 -0
  232. data/spec/unit/metadata_datastream_spec.rb +290 -0
  233. data/spec/unit/model_spec.rb +186 -0
  234. data/spec/unit/property_spec.rb +50 -0
  235. data/spec/unit/qualified_dublin_core_datastream_spec.rb +177 -0
  236. data/spec/unit/relationship_spec.rb +77 -0
  237. data/spec/unit/rels_ext_datastream_spec.rb +99 -0
  238. data/spec/unit/repository_spec.rb +136 -0
  239. data/spec/unit/rf_datastream_spec.rb +49 -0
  240. data/spec/unit/semantic_node_spec.rb +354 -0
  241. data/spec/unit/solr_config_options_spec.rb +98 -0
  242. data/spec/unit/solr_mapper_spec.rb +31 -0
  243. data/spec/unit/solr_service_spec.rb +83 -0
  244. data/tasks/hoe.rake +0 -0
  245. data/tasks/rspec.rake +29 -0
  246. metadata +373 -55
@@ -0,0 +1,98 @@
1
+ require File.join( File.dirname(__FILE__), "../spec_helper" )
2
+
3
+ require 'active_fedora/solr_service'
4
+
5
+ include ActiveFedora
6
+
7
+ describe ActiveFedora do
8
+
9
+ before(:all) do
10
+ module SpecModel
11
+ class Basic
12
+ include ActiveFedora::Model
13
+ end
14
+ end
15
+ end
16
+
17
+ before(:each) do
18
+ Fedora::Repository.instance.stubs(:nextid).returns("_nextid_")
19
+ @test_object = ActiveFedora::Base.new
20
+ end
21
+
22
+ after(:all) do
23
+ # Revert to default mappings after running tests
24
+ ActiveFedora::SolrService.load_mappings
25
+ end
26
+
27
+ describe "field name mappings" do
28
+ it "should default to using the mappings for the current schema" do
29
+ from_default_yml = YAML::load(File.open(File.join(File.dirname(__FILE__), "..", "..", "config", "solr_mappings.yml")))
30
+ ActiveFedora::SolrService.mappings.should == from_default_yml
31
+ ActiveFedora::SolrService.mappings["date"].should == "_dt"
32
+ end
33
+ it "should allow you to provide your own mappings file" do
34
+ ActiveFedora::SolrService.load_mappings(File.join(File.dirname(__FILE__), "..", "..", "config", "solr_mappings_af_0.1.yml"))
35
+ ActiveFedora::SolrService.mappings["date"].should == "_date"
36
+ ActiveFedora::SolrService.mappings["symbol"].should == "_field"
37
+ end
38
+ end
39
+
40
+ describe "SOLR_DOCUMENT_ID" do
41
+ before(:all) do
42
+ SOLR_DOCUMENT_ID = "MY_SAMPLE_ID"
43
+ end
44
+ after(:all) do
45
+ SOLR_DOCUMENT_ID = "id"
46
+ end
47
+ it "should be used by ActiveFedora::Base.to_solr" do
48
+ SOLR_DOCUMENT_ID = "MY_SAMPLE_ID"
49
+ @test_object.to_solr[SOLR_DOCUMENT_ID.to_sym].should_not be_nil
50
+ @test_object.to_solr[:id].should be_nil
51
+ end
52
+ it "should be used by ActiveFedora::Base#find" do
53
+ mock_solr = mock("SolrConnection")
54
+ mock_result = mock("MockResult")
55
+ mock_result.expects(:hits).returns([{SOLR_DOCUMENT_ID => "changeme:30"}])
56
+ mock_solr.expects(:query).with(SOLR_DOCUMENT_ID + ':changeme\:30').returns(mock_result)
57
+ Fedora::Repository.instance.expects(:find_model).with("changeme:30", SpecModel::Basic).returns("fake object")
58
+
59
+ ActiveFedora::SolrService.expects(:instance).returns(mock("SolrService", :conn => mock_solr))
60
+
61
+ res = SpecModel::Basic.find("changeme:30")
62
+ end
63
+ it "should be used by ActiveFedora::Base#find_by_solr" do
64
+ mock_solr = mock("SolrConnection")
65
+ mock_response = mock("SolrResponse")
66
+ mock_solr.expects(:query).with(SOLR_DOCUMENT_ID + ':changeme\:30', {}).returns(mock_response)
67
+ ActiveFedora::SolrService.expects(:instance).returns(mock("SolrService", :conn => mock_solr))
68
+
69
+ SpecModel::Basic.find_by_solr("changeme:30").should equal(mock_response)
70
+ end
71
+ end
72
+
73
+ describe "ENABLE_SOLR_UPDATES" do
74
+
75
+ before(:all) do
76
+ ENABLE_SOLR_UPDATES = false
77
+ end
78
+ after(:all) do
79
+ ENABLE_SOLR_UPDATES = true
80
+ end
81
+
82
+ it "should prevent Base.save from calling update_index if false" do
83
+ Fedora::Repository.instance.stubs(:save)
84
+ mock1 = mock("ds1", :dirty? => true, :save => true, :kind_of? => ActiveFedora::MetadataDatastream)
85
+ @test_object.instance_variable_set(:@metadata_is_dirty, true)
86
+ @test_object.stubs(:datastreams_in_memory).returns({:ds1 => mock1})
87
+ @test_object.expects(:update_index).never
88
+ @test_object.expects(:refresh)
89
+ @test_object.save
90
+ end
91
+ it "should prevent Base.delete from deleting the corresponding Solr document if false" do
92
+ Fedora::Repository.instance.expects(:delete)
93
+ ActiveFedora::SolrService.expects(:instance).never
94
+ @test_object.delete
95
+ end
96
+ end
97
+ end
98
+
@@ -0,0 +1,31 @@
1
+ require File.join( File.dirname(__FILE__), "..", "spec_helper" )
2
+
3
+ require 'active_fedora/solr_service'
4
+ require 'active_fedora/solr_mapper'
5
+
6
+ include ActiveFedora::SolrMapper
7
+
8
+ describe ActiveFedora::SolrMapper do
9
+
10
+ after(:all) do
11
+ # Revert to default mappings after running tests
12
+ ActiveFedora::SolrService.load_mappings
13
+ end
14
+
15
+ describe ".solr_name" do
16
+ it "should generate solr field names from settings in solr_mappings" do
17
+ solr_name(:system_create, :date).should == :system_create_dt
18
+ end
19
+ it "should format the response based on the class of the input" do
20
+ solr_name(:system_create, :date).should == :system_create_dt
21
+ solr_name("system_create", :date).should == "system_create_dt"
22
+ end
23
+ it "should rely on whichever mappings have been loaded into the SolrService" do
24
+ solr_name(:system_create, :date).should == :system_create_dt
25
+ solr_name(:foo, :text).should == :foo_t
26
+ ActiveFedora::SolrService.load_mappings(File.join(File.dirname(__FILE__), "..", "..", "config", "solr_mappings_af_0.1.yml"))
27
+ solr_name(:system_create, :date).should == :system_create_date
28
+ solr_name(:foo, :text).should == :foo_field
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,83 @@
1
+ require File.join( File.dirname(__FILE__), "../spec_helper" )
2
+
3
+ require 'active_fedora/solr_service'
4
+
5
+ include ActiveFedora
6
+
7
+ describe ActiveFedora::SolrService do
8
+ it "should take a narg constructor and configure for localhost" do
9
+ mconn = mock('conn')
10
+ Solr::Connection.expects(:new).with('http://localhost:8080/solr', {:autocommit=>:on}).returns(mconn)
11
+ ss = SolrService.register
12
+ end
13
+ it "should accept host arg into constructor" do
14
+ mconn = mock('conn')
15
+ Solr::Connection.expects(:new).with('http://fubar', {:autocommit=>:on}).returns(mconn)
16
+ ss = SolrService.register('http://fubar')
17
+ end
18
+ it "should merge options" do
19
+ mconn = mock('conn')
20
+ Solr::Connection.expects(:new).with('http://localhost:8080/solr', {:autocommit=>:on, :foo=>'bar'}).returns(mconn)
21
+ ss = SolrService.register(nil, {:foo=>'bar'})
22
+ end
23
+ it "should clobber options" do
24
+ mconn = mock('conn')
25
+ Solr::Connection.expects(:new).with('http://localhost:8080/solr', {:autocommit=>:off, :foo=>:bar}).returns(mconn)
26
+ ss = SolrService.register(nil, {:autocommit=>:off, :foo=>:bar})
27
+ end
28
+
29
+ it "should set the threadlocal solr service" do
30
+ mconn = mock('conn')
31
+ Solr::Connection.expects(:new).with('http://localhost:8080/solr', {:autocommit=>:off, :foo=>:bar}).returns(mconn)
32
+ ss = SolrService.register(nil, {:autocommit=>:off, :foo=>:bar})
33
+ Thread.current[:solr_service].should == ss
34
+ SolrService.instance.should == ss
35
+ end
36
+ it "should fail fast if solr service not initialized" do
37
+ Thread.current[:solr_service].should be_nil
38
+ proc{SolrService.instance}.should raise_error(SolrNotInitialized)
39
+ end
40
+ before do
41
+ Thread.current[:solr_service]=nil
42
+ end
43
+
44
+ describe "#reify_solr_results" do
45
+ before(:each) do
46
+ @sample_solr_hits = [{"id"=>"my:_PID1_", "active_fedora_model_s"=>["AudioRecord"]},
47
+ {"id"=>"my:_PID2_", "active_fedora_model_s"=>["AudioRecord"]},
48
+ {"id"=>"my:_PID3_", "active_fedora_model_s"=>["AudioRecord"]}]
49
+ end
50
+ it "should only take Solr::Response::Standard objects as input" do
51
+ mocko = mock("input", :is_a? => false)
52
+ lambda {ActiveFedora::SolrService.reify_solr_results(mocko)}.should raise_error(ArgumentError)
53
+ end
54
+ it "should use Repository.find_model to instantiate objects" do
55
+ solr_result = mock("solr result", :is_a? => true)
56
+ solr_result.expects(:hits).returns(@sample_solr_hits)
57
+ Kernel.expects(:const_get).with("AudioRecord").returns("AudioRecord").times(3)
58
+ mock_repo = mock("repo")
59
+ mock_repo.expects(:find_model).with("my:_PID1_", "AudioRecord").returns("AR1")
60
+ mock_repo.expects(:find_model).with("my:_PID2_", "AudioRecord").returns("AR2")
61
+ mock_repo.expects(:find_model).with("my:_PID3_", "AudioRecord").returns("AR3")
62
+ Fedora::Repository.expects(:instance).returns(mock_repo).times(3)
63
+ ActiveFedora::SolrService.reify_solr_results(solr_result).should == ["AR1", "AR2", "AR3"]
64
+ end
65
+ end
66
+
67
+ describe '#construct_query_for_pids' do
68
+ it "should generate a useable solr query from an array of Fedora pids" do
69
+ ActiveFedora::SolrService.construct_query_for_pids(["my:_PID1_", "my:_PID2_", "my:_PID3_"]).should == 'id:my\:_PID1_ OR id:my\:_PID2_ OR id:my\:_PID3_'
70
+ end
71
+ it "should return a valid solr query even if given an empty array as input" do
72
+ ActiveFedora::SolrService.construct_query_for_pids([""]).should == "id:NEVER_USE_THIS_ID"
73
+
74
+ end
75
+ end
76
+
77
+ describe '#escape_uri_for_query' do
78
+ it "should escape : with a backslash" do
79
+ ActiveFedora::SolrService.escape_uri_for_query("my:pid").should == 'my\:pid'
80
+ end
81
+ end
82
+
83
+ end
File without changes
@@ -0,0 +1,29 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems'
5
+ require 'spec'
6
+ end
7
+ begin
8
+ require 'spec/rake/spectask'
9
+ rescue LoadError
10
+ puts <<-EOS
11
+ To use rspec for testing you must install rspec gem:
12
+ gem install rspec
13
+ EOS
14
+ exit(0)
15
+ end
16
+
17
+ desc "Run the specs under spec/models"
18
+ Spec::Rake::SpecTask.new do |t|
19
+ t.spec_opts = ['--options', "spec/spec.opts"]
20
+ t.spec_files = FileList['spec/**/*_spec.rb']
21
+ end
22
+
23
+ namespace :spec do
24
+ desc "run the unit specs"
25
+ Spec::Rake::SpecTask.new(:units) do |t|
26
+ t.spec_opts = ['--options', "spec/spec.opts"]
27
+ t.spec_files = FileList['spec/unit/**/*_spec.rb']
28
+ end
29
+ end
metadata CHANGED
@@ -1,96 +1,295 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active-fedora
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ prerelease: false
5
+ segments:
6
+ - 1
7
+ - 1
8
+ - 0
9
+ version: 1.1.0
5
10
  platform: ruby
6
11
  authors:
7
- - MediaShelf Inc.
12
+ - Matt Zumwalt
13
+ - McClain Looney
8
14
  autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2009-07-20 00:00:00 -03:00
18
+ date: 2010-03-21 00:00:00 -05:00
13
19
  default_executable:
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
- name: ruby-fedora
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ name: solr-ruby
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
20
25
  requirements:
21
26
  - - ">="
22
27
  - !ruby/object:Gem::Version
23
- version: 1.0.4
24
- version:
28
+ segments:
29
+ - 0
30
+ - 0
31
+ - 6
32
+ version: 0.0.6
33
+ type: :runtime
34
+ version_requirements: *id001
25
35
  - !ruby/object:Gem::Dependency
26
- name: solr-ruby
36
+ name: xml-simple
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ segments:
43
+ - 1
44
+ - 0
45
+ - 12
46
+ version: 1.0.12
27
47
  type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
48
+ version_requirements: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: mime-types
51
+ prerelease: false
52
+ requirement: &id003 !ruby/object:Gem::Requirement
30
53
  requirements:
31
54
  - - ">="
32
55
  - !ruby/object:Gem::Version
33
- version: 0.0.6
34
- version:
56
+ segments:
57
+ - 1
58
+ - 16
59
+ version: "1.16"
60
+ type: :runtime
61
+ version_requirements: *id003
35
62
  - !ruby/object:Gem::Dependency
36
- name: newgem
37
- type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
63
+ name: multipart-post
64
+ prerelease: false
65
+ requirement: &id004 !ruby/object:Gem::Requirement
40
66
  requirements:
41
67
  - - ">="
42
68
  - !ruby/object:Gem::Version
43
- version: 1.4.1
44
- version:
69
+ segments:
70
+ - 0
71
+ version: "0"
72
+ type: :runtime
73
+ version_requirements: *id004
45
74
  - !ruby/object:Gem::Dependency
46
75
  name: rspec
47
- type: :development
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
76
+ prerelease: false
77
+ requirement: &id005 !ruby/object:Gem::Requirement
50
78
  requirements:
51
79
  - - ">="
52
80
  - !ruby/object:Gem::Version
53
- version: 1.1.12
54
- version:
81
+ segments:
82
+ - 1
83
+ - 2
84
+ - 9
85
+ version: 1.2.9
86
+ type: :development
87
+ version_requirements: *id005
55
88
  - !ruby/object:Gem::Dependency
56
89
  name: mocha
57
- type: :development
58
- version_requirement:
59
- version_requirements: !ruby/object:Gem::Requirement
90
+ prerelease: false
91
+ requirement: &id006 !ruby/object:Gem::Requirement
60
92
  requirements:
61
93
  - - ">="
62
94
  - !ruby/object:Gem::Version
63
- version: 0.9.4
64
- version:
65
- - !ruby/object:Gem::Dependency
66
- name: hoe
95
+ segments:
96
+ - 1
97
+ - 2
98
+ - 9
99
+ version: 1.2.9
67
100
  type: :development
68
- version_requirement:
69
- version_requirements: !ruby/object:Gem::Requirement
101
+ version_requirements: *id006
102
+ - !ruby/object:Gem::Dependency
103
+ name: ruby-debug
104
+ prerelease: false
105
+ requirement: &id007 !ruby/object:Gem::Requirement
70
106
  requirements:
71
107
  - - ">="
72
108
  - !ruby/object:Gem::Version
73
- version: 1.8.0
74
- version:
75
- description: FIX (describe your package)
76
- email:
77
- - matt.zumwalt@yourmediashelf.com
109
+ segments:
110
+ - 0
111
+ version: "0"
112
+ type: :development
113
+ version_requirements: *id007
114
+ description: ActiveFedora provides for creating and managing objects in the Fedora Repository Architecture.
115
+ email: matt.zumwalt@yourmediashelf.com
78
116
  executables: []
79
117
 
80
118
  extensions: []
81
119
 
82
120
  extra_rdoc_files:
83
- - History.txt
84
- - Manifest.txt
85
- - PostInstall.txt
121
+ - LICENSE
86
122
  - README.rdoc
123
+ - README.txt
87
124
  files:
125
+ - .document
126
+ - .gitignore
127
+ - .hg/00changelog.i
128
+ - .hg/branch
129
+ - .hg/branch.cache
130
+ - .hg/dirstate
131
+ - .hg/hgrc
132
+ - .hg/requires
133
+ - .hg/store/00changelog.i
134
+ - .hg/store/00manifest.i
135
+ - .hg/store/data/.hgignore.i
136
+ - .hg/store/data/.hgtags.i
137
+ - .hg/store/data/_c_o_p_y_i_n_g.txt.i
138
+ - .hg/store/data/_c_o_y_i_n_g._l_e_s_s_e_r.txt.i
139
+ - .hg/store/data/_history.txt.i
140
+ - .hg/store/data/_license.txt.i
141
+ - .hg/store/data/_manifest.txt.i
142
+ - .hg/store/data/_post_install.txt.i
143
+ - .hg/store/data/_r_e_a_d_m_e.rdoc.i
144
+ - .hg/store/data/_r_e_a_d_m_e.txt.i
145
+ - .hg/store/data/_rakefile.i
146
+ - .hg/store/data/_v_e_r_s_i_o_n.i
147
+ - .hg/store/data/active-fedora.gemspec.i
148
+ - .hg/store/data/active__fedora/_history.txt.i
149
+ - .hg/store/data/active__fedora/_manifest.txt.i
150
+ - .hg/store/data/active__fedora/_post_install.txt.i
151
+ - .hg/store/data/active__fedora/_r_e_a_d_m_e.rdoc.i
152
+ - .hg/store/data/active__fedora/_rakefile.i
153
+ - .hg/store/data/active__fedora/lib/active__fedora.rb.i
154
+ - .hg/store/data/active__fedora/script/console.i
155
+ - .hg/store/data/active__fedora/script/destroy.i
156
+ - .hg/store/data/active__fedora/script/generate.i
157
+ - .hg/store/data/active__fedora/spec/active__fedora__spec.rb.i
158
+ - .hg/store/data/active__fedora/spec/spec__helper.rb.i
159
+ - .hg/store/data/config/fedora.yml.i
160
+ - .hg/store/data/config/solr__mappings.yml.i
161
+ - .hg/store/data/config/solr__mappings__af__0.1.yml.i
162
+ - .hg/store/data/config/solr__mappings__bl__2.4.yml.i
163
+ - .hg/store/data/lib/active-fedora.rb.i
164
+ - .hg/store/data/lib/active__fedora.rb.i
165
+ - .hg/store/data/lib/active__fedora/base.rb.i
166
+ - .hg/store/data/lib/active__fedora/content__model.rb.i
167
+ - .hg/store/data/lib/active__fedora/datastream.rb.i
168
+ - .hg/store/data/lib/active__fedora/fedora__object.rb.i
169
+ - .hg/store/data/lib/active__fedora/metadata__datastream.rb.i
170
+ - .hg/store/data/lib/active__fedora/model.rb.i
171
+ - .hg/store/data/lib/active__fedora/property.rb.i
172
+ - .hg/store/data/lib/active__fedora/qualified__dublin__core__datastream.rb.i
173
+ - .hg/store/data/lib/active__fedora/relationship.rb.i
174
+ - .hg/store/data/lib/active__fedora/rels__ext__datastream.rb.i
175
+ - .hg/store/data/lib/active__fedora/semantic__node.rb.i
176
+ - .hg/store/data/lib/active__fedora/solr__mapper.rb.i
177
+ - .hg/store/data/lib/active__fedora/solr__service.rb.i
178
+ - .hg/store/data/lib/fedora/base.rb.i
179
+ - .hg/store/data/lib/fedora/connection.rb.i
180
+ - .hg/store/data/lib/fedora/datastream.rb.i
181
+ - .hg/store/data/lib/fedora/fedora__object.rb.i
182
+ - .hg/store/data/lib/fedora/formats.rb.i
183
+ - .hg/store/data/lib/fedora/generic__search.rb.i
184
+ - .hg/store/data/lib/fedora/repository.rb.i
185
+ - .hg/store/data/lib/ruby-fedora.rb.i
186
+ - .hg/store/data/lib/util/class__level__inheritable__attributes.rb.i
187
+ - .hg/store/data/script/console.i
188
+ - .hg/store/data/script/destroy.i
189
+ - .hg/store/data/script/generate.i
190
+ - .hg/store/data/solr/config/schema-1.5.xml.i
191
+ - .hg/store/data/solr/config/schema.xml.i
192
+ - .hg/store/data/solr/config/solrconfig-1.5.xml.i
193
+ - .hg/store/data/spec/fixtures/changeme155.xml.i
194
+ - .hg/store/data/spec/fixtures/dino.jpg.i
195
+ - .hg/store/data/spec/fixtures/minivan.jpg.d
196
+ - .hg/store/data/spec/fixtures/minivan.jpg.i
197
+ - .hg/store/data/spec/fixtures/test__12.foxml.xml.i
198
+ - .hg/store/data/spec/integration/active__fedora/base__spec.rb.i
199
+ - .hg/store/data/spec/integration/active__fedora/datastream__spec.rb.i
200
+ - .hg/store/data/spec/integration/active__fedora/fedora__object__spec.rb.i
201
+ - .hg/store/data/spec/integration/active__fedora/full__featured__model__spec.rb.i
202
+ - .hg/store/data/spec/integration/active__fedora/model__spec.rb.i
203
+ - .hg/store/data/spec/integration/active__fedora/rels__ext__datastream__spec.rb.i
204
+ - .hg/store/data/spec/integration/active__fedora/semantic__node__spec.rb.i
205
+ - .hg/store/data/spec/integration/base__file__management__spec.rb.i
206
+ - .hg/store/data/spec/integration/base__spec.rb.i
207
+ - .hg/store/data/spec/integration/bug__spec.rb.i
208
+ - .hg/store/data/spec/integration/datastream__spec.rb.i
209
+ - .hg/store/data/spec/integration/datastreams__crud__spec.rb.i
210
+ - .hg/store/data/spec/integration/fedora__object__spec.rb.i
211
+ - .hg/store/data/spec/integration/full__featured__model__spec.rb.i
212
+ - .hg/store/data/spec/integration/model__spec.rb.i
213
+ - .hg/store/data/spec/integration/rels__ext__datastream__spec.rb.i
214
+ - .hg/store/data/spec/integration/repository__spec.rb.i
215
+ - .hg/store/data/spec/integration/rf__fedora__object__spec.rb.i
216
+ - .hg/store/data/spec/integration/semantic__node__spec.rb.i
217
+ - .hg/store/data/spec/integration/solr__service__spec.rb.i
218
+ - .hg/store/data/spec/samples/models/audio__record.rb.i
219
+ - .hg/store/data/spec/samples/models/image.rb.i
220
+ - .hg/store/data/spec/samples/models/oral__history.rb.i
221
+ - .hg/store/data/spec/samples/models/seminar.rb.i
222
+ - .hg/store/data/spec/samples/models/seminar__audio__file.rb.i
223
+ - .hg/store/data/spec/samples/oh__qdc.xml.i
224
+ - .hg/store/data/spec/samples/oral__history.rb.i
225
+ - .hg/store/data/spec/samples/oral__history__sample.xml.i
226
+ - .hg/store/data/spec/samples/oral__history__sample__model.rb.i
227
+ - .hg/store/data/spec/samples/oral__history__xml.xml.i
228
+ - .hg/store/data/spec/spec.opts.i
229
+ - .hg/store/data/spec/spec__helper.rb.i
230
+ - .hg/store/data/spec/unit/active__fedora/base__cma__spec.rb.i
231
+ - .hg/store/data/spec/unit/active__fedora/base__extra__spec.rb.i
232
+ - .hg/store/data/spec/unit/active__fedora/base__spec.rb.i
233
+ - .hg/store/data/spec/unit/active__fedora/content__model__spec.rb.i
234
+ - .hg/store/data/spec/unit/active__fedora/datastream__spec.rb.i
235
+ - .hg/store/data/spec/unit/active__fedora/inheritance__spec.rb.i
236
+ - .hg/store/data/spec/unit/active__fedora/metadata__datastream__spec.rb.i
237
+ - .hg/store/data/spec/unit/active__fedora/model__spec.rb.i
238
+ - .hg/store/data/spec/unit/active__fedora/property__spec.rb.i
239
+ - .hg/store/data/spec/unit/active__fedora/qualified__dublin__core__datastream__spec.rb.i
240
+ - .hg/store/data/spec/unit/active__fedora/relationship__spec.rb.i
241
+ - .hg/store/data/spec/unit/active__fedora/rels__ext__datastream__spec.rb.i
242
+ - .hg/store/data/spec/unit/active__fedora/semantic__node__spec.rb.i
243
+ - .hg/store/data/spec/unit/active__fedora/solr__service__spec.rb.i
244
+ - .hg/store/data/spec/unit/active__fedora__spec.rb.i
245
+ - .hg/store/data/spec/unit/base__cma__spec.rb.i
246
+ - .hg/store/data/spec/unit/base__datastream__management__spec.rb.i
247
+ - .hg/store/data/spec/unit/base__extra__spec.rb.i
248
+ - .hg/store/data/spec/unit/base__file__management__spec.rb.i
249
+ - .hg/store/data/spec/unit/base__loader__spec.rb.i
250
+ - .hg/store/data/spec/unit/base__spec.rb.i
251
+ - .hg/store/data/spec/unit/connection__spec.rb.i
252
+ - .hg/store/data/spec/unit/content__model__spec.rb.i
253
+ - .hg/store/data/spec/unit/datastream__concurrency__spec.rb.i
254
+ - .hg/store/data/spec/unit/datastream__spec.rb.i
255
+ - .hg/store/data/spec/unit/fedora__object__spec.rb.i
256
+ - .hg/store/data/spec/unit/inheritance__spec.rb.i
257
+ - .hg/store/data/spec/unit/metadata__datastream__spec.rb.i
258
+ - .hg/store/data/spec/unit/model__spec.rb.i
259
+ - .hg/store/data/spec/unit/property__spec.rb.i
260
+ - .hg/store/data/spec/unit/qualified__dublin__core__datastream__spec.rb.i
261
+ - .hg/store/data/spec/unit/relationship__spec.rb.i
262
+ - .hg/store/data/spec/unit/rels__ext__datastream__spec.rb.i
263
+ - .hg/store/data/spec/unit/repository__spec.rb.i
264
+ - .hg/store/data/spec/unit/rf__datastream__spec.rb.i
265
+ - .hg/store/data/spec/unit/semantic__node__spec.rb.i
266
+ - .hg/store/data/spec/unit/solr__config__options__spec.rb.i
267
+ - .hg/store/data/spec/unit/solr__mapper__spec.rb.i
268
+ - .hg/store/data/spec/unit/solr__service__spec.rb.i
269
+ - .hg/store/data/tasks/rspec.rake.i
270
+ - .hg/store/undo
271
+ - .hg/undo.branch
272
+ - .hg/undo.dirstate
273
+ - .hgignore
274
+ - .hgtags
275
+ - COPYING.txt
276
+ - COYING.LESSER.txt
88
277
  - History.txt
278
+ - LICENSE
279
+ - License.txt
89
280
  - Manifest.txt
90
281
  - PostInstall.txt
91
282
  - README.rdoc
92
- - lib/active_fedora.rb
283
+ - README.txt
284
+ - Rakefile
285
+ - VERSION
286
+ - active-fedora.gemspec
287
+ - config/fedora.yml
288
+ - config/solr_mappings.yml
289
+ - config/solr_mappings_af_0.1.yml
290
+ - config/solr_mappings_bl_2.4.yml
93
291
  - lib/active-fedora.rb
292
+ - lib/active_fedora.rb
94
293
  - lib/active_fedora/base.rb
95
294
  - lib/active_fedora/content_model.rb
96
295
  - lib/active_fedora/datastream.rb
@@ -102,34 +301,153 @@ files:
102
301
  - lib/active_fedora/relationship.rb
103
302
  - lib/active_fedora/rels_ext_datastream.rb
104
303
  - lib/active_fedora/semantic_node.rb
304
+ - lib/active_fedora/solr_mapper.rb
105
305
  - lib/active_fedora/solr_service.rb
306
+ - lib/fedora/base.rb
307
+ - lib/fedora/connection.rb
308
+ - lib/fedora/datastream.rb
309
+ - lib/fedora/fedora_object.rb
310
+ - lib/fedora/formats.rb
311
+ - lib/fedora/generic_search.rb
312
+ - lib/fedora/repository.rb
313
+ - lib/ruby-fedora.rb
314
+ - lib/util/class_level_inheritable_attributes.rb
315
+ - script/console
316
+ - script/destroy
317
+ - script/generate
318
+ - solr/config/schema-1.5.xml
106
319
  - solr/config/schema.xml
320
+ - solr/config/solrconfig-1.5.xml
321
+ - spec/active_fedora_spec.rb
322
+ - spec/fixtures/changeme155.xml
323
+ - spec/fixtures/dino.jpg
324
+ - spec/fixtures/minivan.jpg
325
+ - spec/fixtures/test_12.foxml.xml
326
+ - spec/integration/base_file_management_spec.rb
327
+ - spec/integration/base_spec.rb
328
+ - spec/integration/bug_spec.rb
329
+ - spec/integration/datastream_spec.rb
330
+ - spec/integration/datastreams_crud_spec.rb
331
+ - spec/integration/fedora_object_spec.rb
332
+ - spec/integration/full_featured_model_spec.rb
333
+ - spec/integration/model_spec.rb
334
+ - spec/integration/rels_ext_datastream_spec.rb
335
+ - spec/integration/repository_spec.rb
336
+ - spec/integration/rf_fedora_object_spec.rb
337
+ - spec/integration/semantic_node_spec.rb
338
+ - spec/integration/solr_service_spec.rb
339
+ - spec/samples/models/audio_record.rb
340
+ - spec/samples/models/image.rb
341
+ - spec/samples/models/oral_history.rb
342
+ - spec/samples/models/seminar.rb
343
+ - spec/samples/models/seminar_audio_file.rb
344
+ - spec/samples/oh_qdc.xml
345
+ - spec/samples/oral_history_sample.xml
346
+ - spec/samples/oral_history_sample_model.rb
347
+ - spec/samples/oral_history_xml.xml
348
+ - spec/spec.opts
349
+ - spec/spec_helper.rb
350
+ - spec/unit/active_fedora_spec.rb
351
+ - spec/unit/base_cma_spec.rb
352
+ - spec/unit/base_datastream_management_spec.rb
353
+ - spec/unit/base_extra_spec.rb
354
+ - spec/unit/base_file_management_spec.rb
355
+ - spec/unit/base_loader_spec.rb
356
+ - spec/unit/base_spec.rb
357
+ - spec/unit/connection_spec.rb
358
+ - spec/unit/content_model_spec.rb
359
+ - spec/unit/datastream_concurrency_spec.rb
360
+ - spec/unit/datastream_spec.rb
361
+ - spec/unit/fedora_object_spec.rb
362
+ - spec/unit/inheritance_spec.rb
363
+ - spec/unit/metadata_datastream_spec.rb
364
+ - spec/unit/model_spec.rb
365
+ - spec/unit/property_spec.rb
366
+ - spec/unit/qualified_dublin_core_datastream_spec.rb
367
+ - spec/unit/relationship_spec.rb
368
+ - spec/unit/rels_ext_datastream_spec.rb
369
+ - spec/unit/repository_spec.rb
370
+ - spec/unit/rf_datastream_spec.rb
371
+ - spec/unit/semantic_node_spec.rb
372
+ - spec/unit/solr_config_options_spec.rb
373
+ - spec/unit/solr_mapper_spec.rb
374
+ - spec/unit/solr_service_spec.rb
375
+ - tasks/hoe.rake
376
+ - tasks/rspec.rake
107
377
  has_rdoc: true
108
- homepage: "Project Homepage: <http://yourmediashelf.com/activefedora>"
109
- post_install_message: PostInstall.txt
378
+ homepage: http://yourmediashelf.com/activefedora
379
+ licenses: []
380
+
381
+ post_install_message:
110
382
  rdoc_options:
111
- - --main
112
- - README.rdoc
383
+ - --charset=UTF-8
113
384
  require_paths:
114
385
  - lib
115
386
  required_ruby_version: !ruby/object:Gem::Requirement
116
387
  requirements:
117
388
  - - ">="
118
389
  - !ruby/object:Gem::Version
390
+ segments:
391
+ - 0
119
392
  version: "0"
120
- version:
121
393
  required_rubygems_version: !ruby/object:Gem::Requirement
122
394
  requirements:
123
395
  - - ">="
124
396
  - !ruby/object:Gem::Version
397
+ segments:
398
+ - 0
125
399
  version: "0"
126
- version:
127
400
  requirements: []
128
401
 
129
- rubyforge_project: rubyfedora
130
- rubygems_version: 1.3.1
402
+ rubyforge_project:
403
+ rubygems_version: 1.3.6
131
404
  signing_key:
132
- specification_version: 2
133
- summary: FIX (describe your package)
134
- test_files: []
135
-
405
+ specification_version: 3
406
+ summary: A convenience libary for manipulating MODS (Metadata Object Description Schema) documents.
407
+ test_files:
408
+ - spec/active_fedora_spec.rb
409
+ - spec/integration/base_file_management_spec.rb
410
+ - spec/integration/base_spec.rb
411
+ - spec/integration/bug_spec.rb
412
+ - spec/integration/datastream_spec.rb
413
+ - spec/integration/datastreams_crud_spec.rb
414
+ - spec/integration/fedora_object_spec.rb
415
+ - spec/integration/full_featured_model_spec.rb
416
+ - spec/integration/model_spec.rb
417
+ - spec/integration/rels_ext_datastream_spec.rb
418
+ - spec/integration/repository_spec.rb
419
+ - spec/integration/rf_fedora_object_spec.rb
420
+ - spec/integration/semantic_node_spec.rb
421
+ - spec/integration/solr_service_spec.rb
422
+ - spec/samples/models/audio_record.rb
423
+ - spec/samples/models/image.rb
424
+ - spec/samples/models/oral_history.rb
425
+ - spec/samples/models/seminar.rb
426
+ - spec/samples/models/seminar_audio_file.rb
427
+ - spec/samples/oral_history_sample_model.rb
428
+ - spec/spec_helper.rb
429
+ - spec/unit/active_fedora_spec.rb
430
+ - spec/unit/base_cma_spec.rb
431
+ - spec/unit/base_datastream_management_spec.rb
432
+ - spec/unit/base_extra_spec.rb
433
+ - spec/unit/base_file_management_spec.rb
434
+ - spec/unit/base_loader_spec.rb
435
+ - spec/unit/base_spec.rb
436
+ - spec/unit/connection_spec.rb
437
+ - spec/unit/content_model_spec.rb
438
+ - spec/unit/datastream_concurrency_spec.rb
439
+ - spec/unit/datastream_spec.rb
440
+ - spec/unit/fedora_object_spec.rb
441
+ - spec/unit/inheritance_spec.rb
442
+ - spec/unit/metadata_datastream_spec.rb
443
+ - spec/unit/model_spec.rb
444
+ - spec/unit/property_spec.rb
445
+ - spec/unit/qualified_dublin_core_datastream_spec.rb
446
+ - spec/unit/relationship_spec.rb
447
+ - spec/unit/rels_ext_datastream_spec.rb
448
+ - spec/unit/repository_spec.rb
449
+ - spec/unit/rf_datastream_spec.rb
450
+ - spec/unit/semantic_node_spec.rb
451
+ - spec/unit/solr_config_options_spec.rb
452
+ - spec/unit/solr_mapper_spec.rb
453
+ - spec/unit/solr_service_spec.rb