active-fedora 1.0.5 → 1.1.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.
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