active-fedora 4.0.0.rc20 → 4.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/.rvmrc +2 -2
- data/Gemfile +1 -1
- data/Gemfile.lock +6 -6
- data/active-fedora.gemspec +4 -5
- data/config/predicate_mappings.yml +1 -0
- data/lib/active_fedora.rb +1 -6
- data/lib/active_fedora/associations.rb +3 -0
- data/lib/active_fedora/associations/association_collection.rb +0 -1
- data/lib/active_fedora/associations/association_proxy.rb +3 -2
- data/lib/active_fedora/associations/belongs_to_association.rb +1 -0
- data/lib/active_fedora/associations/has_and_belongs_to_many_association.rb +3 -63
- data/lib/active_fedora/locale/en.yml +5 -0
- data/lib/active_fedora/rdf_datastream.rb +1 -1
- data/lib/active_fedora/version.rb +1 -1
- data/spec/integration/associations_spec.rb +57 -23
- data/spec/unit/has_many_collection_spec.rb +0 -7
- data/spec/unit/qualified_dublin_core_datastream_spec.rb +8 -1
- metadata +289 -287
data/.rvmrc
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
# This is an RVM Project .rvmrc file, used to automatically load the ruby
|
4
4
|
# development environment upon cd'ing into the directory
|
5
5
|
|
6
|
-
ruby_string="
|
7
|
-
gemset_name="
|
6
|
+
ruby_string="1.9.3-p125"
|
7
|
+
gemset_name="active_fedora_4.0"
|
8
8
|
|
9
9
|
# Install rubies when used instead of only displaying a warning and exiting
|
10
10
|
rvm_install_on_use_flag=1
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
active-fedora (4.0.0
|
4
|
+
active-fedora (4.0.0)
|
5
5
|
activeresource (>= 3.0.0)
|
6
6
|
activesupport (>= 3.0.0)
|
7
7
|
equivalent-xml
|
@@ -9,11 +9,11 @@ PATH
|
|
9
9
|
mime-types (>= 1.16)
|
10
10
|
multipart-post (= 1.1.2)
|
11
11
|
nokogiri
|
12
|
-
om (~> 1.6.0
|
12
|
+
om (~> 1.6.0)
|
13
13
|
rdf
|
14
14
|
rdf-rdfxml (= 0.3.5)
|
15
15
|
rsolr
|
16
|
-
rubydora (~> 0.5.
|
16
|
+
rubydora (~> 0.5.8)
|
17
17
|
solrizer (~> 1.2.0)
|
18
18
|
xml-simple (>= 1.0.12)
|
19
19
|
|
@@ -63,12 +63,12 @@ GEM
|
|
63
63
|
multipart-post (1.1.2)
|
64
64
|
nokogiri (1.5.2)
|
65
65
|
nori (1.1.0)
|
66
|
-
om (1.6.0
|
66
|
+
om (1.6.0)
|
67
67
|
mediashelf-loggable
|
68
68
|
nokogiri (>= 1.4.2)
|
69
69
|
rack (1.4.1)
|
70
70
|
rake (0.9.2.2)
|
71
|
-
rdf (0.3.5.
|
71
|
+
rdf (0.3.5.2)
|
72
72
|
addressable (>= 2.2.6)
|
73
73
|
rdf-rdfxml (0.3.5)
|
74
74
|
nokogiri (>= 1.4.4)
|
@@ -85,7 +85,7 @@ GEM
|
|
85
85
|
rspec-expectations (2.9.0)
|
86
86
|
diff-lcs (~> 1.1.3)
|
87
87
|
rspec-mocks (2.9.0)
|
88
|
-
rubydora (0.5.
|
88
|
+
rubydora (0.5.8)
|
89
89
|
activemodel
|
90
90
|
activesupport
|
91
91
|
fastercsv
|
data/active-fedora.gemspec
CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.platform = Gem::Platform::RUBY
|
9
9
|
s.authors = ["Matt Zumwalt", "McClain Looney", "Justin Coyne"]
|
10
10
|
s.email = ["matt.zumwalt@yourmediashelf.com"]
|
11
|
-
s.homepage = %q{
|
12
|
-
s.summary = %q{A convenience libary for manipulating
|
11
|
+
s.homepage = %q{https://github.com/projecthydra/active_fedora}
|
12
|
+
s.summary = %q{A convenience libary for manipulating documents in the Fedora Repository.}
|
13
13
|
s.description = %q{ActiveFedora provides for creating and managing objects in the Fedora Repository Architecture.}
|
14
14
|
|
15
15
|
s.rubyforge_project = "rubyfedora"
|
@@ -20,19 +20,18 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.add_dependency('mime-types', '>= 1.16')
|
21
21
|
s.add_dependency('multipart-post', "= 1.1.2")
|
22
22
|
s.add_dependency('nokogiri')
|
23
|
-
s.add_dependency('om', '~> 1.6.0
|
23
|
+
s.add_dependency('om', '~> 1.6.0')
|
24
24
|
s.add_dependency('solrizer', '~>1.2.0')
|
25
25
|
s.add_dependency("activeresource", '>= 3.0.0')
|
26
26
|
s.add_dependency("activesupport", '>= 3.0.0')
|
27
27
|
s.add_dependency("mediashelf-loggable")
|
28
28
|
s.add_dependency("equivalent-xml")
|
29
|
-
s.add_dependency("rubydora", '~>0.5.
|
29
|
+
s.add_dependency("rubydora", '~>0.5.8')
|
30
30
|
s.add_dependency("rdf")
|
31
31
|
s.add_dependency("rdf-rdfxml", '0.3.5') # 0.3.6 is broken
|
32
32
|
s.add_development_dependency("yard")
|
33
33
|
s.add_development_dependency("RedCloth") # for RDoc formatting
|
34
34
|
s.add_development_dependency("rake")
|
35
|
-
# s.add_development_dependency("rcov") # not ruby 1.9 compatible
|
36
35
|
s.add_development_dependency("jettywrapper", ">=1.2.0")
|
37
36
|
s.add_development_dependency("rspec", ">= 2.9.0")
|
38
37
|
s.add_development_dependency("mocha", ">= 0.9.8")
|
data/lib/active_fedora.rb
CHANGED
@@ -5,11 +5,6 @@ require 'active_fedora/rubydora_connection'
|
|
5
5
|
require 'active_support/core_ext/class/attribute'
|
6
6
|
require 'active_support/core_ext/object'
|
7
7
|
require 'active_support/core_ext/hash/indifferent_access'
|
8
|
-
# require "solrizer"
|
9
|
-
# require 'nokogiri'
|
10
|
-
# require "loggable"
|
11
|
-
|
12
|
-
|
13
8
|
|
14
9
|
SOLR_DOCUMENT_ID = ActiveFedora::SolrService.id_field unless defined?(SOLR_DOCUMENT_ID)
|
15
10
|
ENABLE_SOLR_UPDATES = true unless defined?(ENABLE_SOLR_UPDATES)
|
@@ -154,5 +149,5 @@ end
|
|
154
149
|
|
155
150
|
|
156
151
|
load File.join(File.dirname(__FILE__),"tasks/active_fedora.rake") if defined?(Rake)
|
157
|
-
|
152
|
+
I18n.load_path << File.dirname(__FILE__) + '/active_fedora/locale/en.yml'
|
158
153
|
|
@@ -138,10 +138,13 @@ module ActiveFedora
|
|
138
138
|
# Project class, but if the real class name is SuperProject, you'll have to specify it with this option.
|
139
139
|
# [:property]
|
140
140
|
# <b>REQUIRED</b> Specify the predicate to use when storing the relationship.
|
141
|
+
# [:inverse_of]
|
142
|
+
# Specify the predicate to use when storing the relationship on the foreign object. If it is not provided, the relationship will not set the foriegn association.
|
141
143
|
#
|
142
144
|
# Option examples:
|
143
145
|
# has_and_belongs_to_many :projects, :property=>:works_on
|
144
146
|
# has_and_belongs_to_many :nations, :class_name => "Country", :property=>:is_citizen_of
|
147
|
+
# has_and_belongs_to_many :topics, :property=>:has_topic, :inverse_of=>:is_topic_of
|
145
148
|
def has_and_belongs_to_many(association_id, options = {}, &extension)
|
146
149
|
reflection = create_has_and_belongs_to_many_reflection(association_id, options, &extension)
|
147
150
|
collection_accessor_methods(reflection, HasAndBelongsToManyAssociation)
|
@@ -35,9 +35,10 @@ module ActiveFedora
|
|
35
35
|
# ActiveFedora::Associations::HasManyAssociation.
|
36
36
|
|
37
37
|
class AssociationProxy
|
38
|
-
|
38
|
+
delegate :to_param, :to=>:target
|
39
|
+
instance_methods.each { |m| undef_method m unless m.to_s =~ /^(?:nil\?|send|object_id|to_a)$|^__|^respond_to|proxy_/ }
|
39
40
|
|
40
|
-
|
41
|
+
def initialize(owner, reflection)
|
41
42
|
@owner, @reflection = owner, reflection
|
42
43
|
@updated = false
|
43
44
|
# reflection.check_validity!
|
@@ -14,33 +14,7 @@ module ActiveFedora
|
|
14
14
|
return ActiveFedora::SolrService.reify_solr_results(solr_result)
|
15
15
|
end
|
16
16
|
|
17
|
-
|
18
|
-
# def create(attributes = {})
|
19
|
-
# create_record(attributes) { |record| insert_record(record) }
|
20
|
-
# end
|
21
|
-
|
22
|
-
# def create!(attributes = {})
|
23
|
-
# create_record(attributes) { |record| insert_record(record, true) }
|
24
|
-
# end
|
25
|
-
|
26
|
-
def columns
|
27
|
-
@reflection.columns(@reflection.options[:join_table], "#{@reflection.options[:join_table]} Columns")
|
28
|
-
end
|
29
|
-
|
30
|
-
# def reset_column_information
|
31
|
-
# @reflection.reset_column_information
|
32
|
-
# end
|
33
|
-
|
34
|
-
# def has_primary_key?
|
35
|
-
# @has_primary_key ||= @owner.connection.supports_primary_key? && @owner.connection.primary_key(@reflection.options[:join_table])
|
36
|
-
# end
|
37
|
-
|
38
17
|
protected
|
39
|
-
# def construct_find_options!(options)
|
40
|
-
# options[:joins] = Arel::SqlLiteral.new @join_sql
|
41
|
-
# options[:readonly] = finding_with_ambiguous_select?(options[:select] || @reflection.options[:select])
|
42
|
-
# options[:select] ||= (@reflection.options[:select] || Arel::SqlLiteral.new('*'))
|
43
|
-
# end
|
44
18
|
|
45
19
|
def count_records
|
46
20
|
load_target.size
|
@@ -57,7 +31,9 @@ module ActiveFedora
|
|
57
31
|
|
58
32
|
### TODO save relationship
|
59
33
|
@owner.add_relationship(@reflection.options[:property], record)
|
60
|
-
|
34
|
+
if (@reflection.options[:inverse_of])
|
35
|
+
record.add_relationship(@reflection.options[:inverse_of], @owner)
|
36
|
+
end
|
61
37
|
record.save
|
62
38
|
return true
|
63
39
|
end
|
@@ -73,42 +49,6 @@ module ActiveFedora
|
|
73
49
|
escaped_uri = internal_uri.gsub(/(:)/, '\\:')
|
74
50
|
@counter_query = @finder_query = "#{@reflection.options[:property]}_s:#{escaped_uri}"
|
75
51
|
end
|
76
|
-
|
77
|
-
def construct_scope
|
78
|
-
{ :find => { :conditions => @finder_sql,
|
79
|
-
:joins => @join_sql,
|
80
|
-
:readonly => false,
|
81
|
-
:order => @reflection.options[:order],
|
82
|
-
:include => @reflection.options[:include],
|
83
|
-
:limit => @reflection.options[:limit] } }
|
84
|
-
end
|
85
|
-
|
86
|
-
# Join tables with additional columns on top of the two foreign keys must be considered
|
87
|
-
# ambiguous unless a select clause has been explicitly defined. Otherwise you can get
|
88
|
-
# broken records back, if, for example, the join column also has an id column. This will
|
89
|
-
# then overwrite the id column of the records coming back.
|
90
|
-
def finding_with_ambiguous_select?(select_clause)
|
91
|
-
!select_clause && columns.size != 2
|
92
|
-
end
|
93
|
-
|
94
|
-
private
|
95
|
-
# def create_record(attributes, &block)
|
96
|
-
# # Can't use Base.create because the foreign key may be a protected attribute.
|
97
|
-
# ensure_owner_is_not_new
|
98
|
-
# if attributes.is_a?(Array)
|
99
|
-
# attributes.collect { |attr| create(attr) }
|
100
|
-
# else
|
101
|
-
# build_record(attributes, &block)
|
102
|
-
# end
|
103
|
-
# end
|
104
|
-
|
105
|
-
def record_timestamp_columns(record)
|
106
|
-
if record.record_timestamps
|
107
|
-
record.send(:all_timestamp_attributes).map { |x| x.to_s }
|
108
|
-
else
|
109
|
-
[]
|
110
|
-
end
|
111
|
-
end
|
112
52
|
end
|
113
53
|
end
|
114
54
|
end
|
@@ -7,12 +7,16 @@ end
|
|
7
7
|
class Book < ActiveFedora::Base
|
8
8
|
belongs_to :library, :property=>:has_constituent
|
9
9
|
belongs_to :author, :property=>:has_member, :class_name=>'Person'
|
10
|
-
has_and_belongs_to_many :topics, :property=>:is_topic_of
|
10
|
+
has_and_belongs_to_many :topics, :property=>:has_topic, :inverse_of=>:is_topic_of
|
11
|
+
has_and_belongs_to_many :collections, :property=>:is_member_of_collection
|
11
12
|
end
|
12
13
|
|
13
14
|
class Person < ActiveFedora::Base
|
14
15
|
end
|
15
16
|
|
17
|
+
class Collection < ActiveFedora::Base
|
18
|
+
end
|
19
|
+
|
16
20
|
class Topic < ActiveFedora::Base
|
17
21
|
has_and_belongs_to_many :books, :property=>:is_topic_of
|
18
22
|
end
|
@@ -28,6 +32,12 @@ describe ActiveFedora::Base do
|
|
28
32
|
@book2.save
|
29
33
|
end
|
30
34
|
|
35
|
+
it "should build" do
|
36
|
+
new_book = @library.books.build({})
|
37
|
+
new_book.should be_new_record
|
38
|
+
new_book.should be_kind_of Book
|
39
|
+
end
|
40
|
+
|
31
41
|
it "should let you shift onto the association" do
|
32
42
|
@library.new_record?.should be_true
|
33
43
|
@library.books.size == 0
|
@@ -103,6 +113,7 @@ describe ActiveFedora::Base do
|
|
103
113
|
end
|
104
114
|
it "should be settable from the book side" do
|
105
115
|
@book.library_id = @library.pid
|
116
|
+
@book.library.should == @library
|
106
117
|
@book.library.pid.should == @library.pid
|
107
118
|
@book.attributes= {:library_id => ""}
|
108
119
|
@book.library_id.should be_nil
|
@@ -183,31 +194,54 @@ describe ActiveFedora::Base do
|
|
183
194
|
end
|
184
195
|
describe "of has_many_and_belongs_to" do
|
185
196
|
before do
|
186
|
-
@
|
187
|
-
@topic1.save
|
188
|
-
@topic2 = Topic.new
|
189
|
-
@topic2.save
|
190
|
-
@book = Book.new
|
191
|
-
@book.save
|
192
|
-
end
|
193
|
-
it "habtm should set relationships bidirectionally" do
|
194
|
-
@book.topics << @topic1
|
195
|
-
@book.topics.to_a.should == [@topic1]
|
196
|
-
Topic.find(@topic1.pid).books.to_a.should == [@book] #Can't have saved it because @book isn't saved yet.
|
197
|
-
end
|
198
|
-
it "should save new child objects" do
|
199
|
-
@book.topics << Topic.new
|
200
|
-
@book.topics.first.pid.should_not be_nil
|
201
|
-
end
|
202
|
-
it "should clear out the old associtions" do
|
203
|
-
@book.topics = [@topic1]
|
204
|
-
@book.topics = [@topic2]
|
205
|
-
@book.topic_ids.should == [@topic2.pid]
|
197
|
+
@book = Book.create
|
206
198
|
end
|
207
199
|
after do
|
208
200
|
@book.delete
|
209
|
-
|
210
|
-
|
201
|
+
end
|
202
|
+
describe "when invese is specified" do
|
203
|
+
before do
|
204
|
+
@topic1 = Topic.create
|
205
|
+
@topic2 = Topic.create
|
206
|
+
end
|
207
|
+
it "should set relationships bidirectionally" do
|
208
|
+
@book.topics << @topic1
|
209
|
+
@book.topics.to_a.should == [@topic1]
|
210
|
+
@book.relationships(:has_topic).should == [@topic1.internal_uri]
|
211
|
+
@topic1.relationships(:has_topic).should == []
|
212
|
+
@topic1.relationships(:is_topic_of).should == [@book.internal_uri]
|
213
|
+
Topic.find(@topic1.pid).books.to_a.should == [@book] #Can't have saved it because @book isn't saved yet.
|
214
|
+
end
|
215
|
+
it "should save new child objects" do
|
216
|
+
@book.topics << Topic.new
|
217
|
+
@book.topics.first.pid.should_not be_nil
|
218
|
+
end
|
219
|
+
it "should clear out the old associtions" do
|
220
|
+
@book.topics = [@topic1]
|
221
|
+
@book.topics = [@topic2]
|
222
|
+
@book.topic_ids.should == [@topic2.pid]
|
223
|
+
end
|
224
|
+
after do
|
225
|
+
@topic1.delete
|
226
|
+
@topic2.delete
|
227
|
+
end
|
228
|
+
end
|
229
|
+
describe "when invese is not specified" do
|
230
|
+
before do
|
231
|
+
@c = Collection.create
|
232
|
+
@book.collections << @c
|
233
|
+
@book.save
|
234
|
+
end
|
235
|
+
after do
|
236
|
+
@c.delete
|
237
|
+
end
|
238
|
+
it "should have a collection" do
|
239
|
+
@book.relationships(:is_member_of_collection).should == [@c.internal_uri]
|
240
|
+
@book.collections.should == [@c]
|
241
|
+
end
|
242
|
+
it "habtm should not set foreign relationships if :inverse_of is not specified" do
|
243
|
+
@c.relationships(:is_member_of_collection).should == []
|
244
|
+
end
|
211
245
|
end
|
212
246
|
end
|
213
247
|
end
|
@@ -16,12 +16,5 @@ describe ActiveFedora::Associations::HasManyAssociation do
|
|
16
16
|
|
17
17
|
end
|
18
18
|
|
19
|
-
it "should build" do
|
20
|
-
@owner = stub(:new_record? => false, :internal_uri => 'info:fedora/changeme:99')
|
21
|
-
@reflection = stub(:klass => Mocha::Mock, :options=>{:property=>'predicate'})
|
22
|
-
@assoc = ActiveFedora::Associations::HasManyAssociation.new(@owner, @reflection)
|
23
|
-
@assoc.should respond_to :build
|
24
|
-
|
25
|
-
end
|
26
19
|
|
27
20
|
end
|
@@ -126,6 +126,13 @@ describe ActiveFedora::QualifiedDublinCoreDatastream do
|
|
126
126
|
end
|
127
127
|
|
128
128
|
end
|
129
|
-
|
129
|
+
describe 'custom fields' do
|
130
|
+
it 'should grab the term' do
|
131
|
+
sample_xml = "<dc xmlns:dcterms='http://purl.org/dc/terms/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><dcterms:cust>custom</dcterms:cust></dc>"
|
132
|
+
test_ds = ActiveFedora::QualifiedDublinCoreDatastream.from_xml(sample_xml )
|
133
|
+
test_ds.field :cust
|
134
|
+
test_ds.cust.should == ['custom']
|
135
|
+
end
|
136
|
+
end
|
130
137
|
|
131
138
|
end
|
metadata
CHANGED
@@ -1,342 +1,348 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: active-fedora
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 4
|
8
|
-
- 0
|
9
|
-
- 0
|
10
|
-
- rc
|
11
|
-
- 20
|
12
|
-
version: 4.0.0.rc20
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 4.0.0
|
5
|
+
prerelease:
|
13
6
|
platform: ruby
|
14
|
-
authors:
|
7
|
+
authors:
|
15
8
|
- Matt Zumwalt
|
16
9
|
- McClain Looney
|
17
10
|
- Justin Coyne
|
18
11
|
autorequire:
|
19
12
|
bindir: bin
|
20
13
|
cert_chain: []
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
- !ruby/object:Gem::Dependency
|
25
|
-
prerelease: false
|
26
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
27
|
-
none: false
|
28
|
-
requirements:
|
29
|
-
- - ">="
|
30
|
-
- !ruby/object:Gem::Version
|
31
|
-
hash: 3
|
32
|
-
segments:
|
33
|
-
- 0
|
34
|
-
version: "0"
|
35
|
-
version_requirements: *id001
|
14
|
+
date: 2012-04-23 00:00:00.000000000 Z
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
36
17
|
name: rsolr
|
18
|
+
requirement: !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ! '>='
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '0'
|
37
24
|
type: :runtime
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
25
|
prerelease: false
|
40
|
-
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
|
47
|
-
- 1
|
48
|
-
- 0
|
49
|
-
- 12
|
50
|
-
version: 1.0.12
|
51
|
-
version_requirements: *id002
|
26
|
+
version_requirements: !ruby/object:Gem::Requirement
|
27
|
+
none: false
|
28
|
+
requirements:
|
29
|
+
- - ! '>='
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: '0'
|
32
|
+
- !ruby/object:Gem::Dependency
|
52
33
|
name: xml-simple
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
36
|
+
requirements:
|
37
|
+
- - ! '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 1.0.12
|
53
40
|
type: :runtime
|
54
|
-
- !ruby/object:Gem::Dependency
|
55
41
|
prerelease: false
|
56
|
-
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- -
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
|
62
|
-
|
63
|
-
- 1
|
64
|
-
- 16
|
65
|
-
version: "1.16"
|
66
|
-
version_requirements: *id003
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.0.12
|
48
|
+
- !ruby/object:Gem::Dependency
|
67
49
|
name: mime-types
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
none: false
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '1.16'
|
68
56
|
type: :runtime
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
57
|
prerelease: false
|
71
|
-
|
72
|
-
none: false
|
73
|
-
requirements:
|
74
|
-
- -
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
|
77
|
-
|
78
|
-
- 1
|
79
|
-
- 1
|
80
|
-
- 2
|
81
|
-
version: 1.1.2
|
82
|
-
version_requirements: *id004
|
58
|
+
version_requirements: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
60
|
+
requirements:
|
61
|
+
- - ! '>='
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '1.16'
|
64
|
+
- !ruby/object:Gem::Dependency
|
83
65
|
name: multipart-post
|
66
|
+
requirement: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - '='
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: 1.1.2
|
84
72
|
type: :runtime
|
85
|
-
- !ruby/object:Gem::Dependency
|
86
73
|
prerelease: false
|
87
|
-
|
88
|
-
none: false
|
89
|
-
requirements:
|
90
|
-
- -
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
|
93
|
-
|
94
|
-
- 0
|
95
|
-
version: "0"
|
96
|
-
version_requirements: *id005
|
74
|
+
version_requirements: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - '='
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: 1.1.2
|
80
|
+
- !ruby/object:Gem::Dependency
|
97
81
|
name: nokogiri
|
82
|
+
requirement: !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
98
88
|
type: :runtime
|
99
|
-
- !ruby/object:Gem::Dependency
|
100
89
|
prerelease: false
|
101
|
-
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
102
91
|
none: false
|
103
|
-
requirements:
|
104
|
-
- -
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
|
107
|
-
|
108
|
-
- 1
|
109
|
-
- 6
|
110
|
-
- 0
|
111
|
-
- rc
|
112
|
-
- 3
|
113
|
-
version: 1.6.0.rc3
|
114
|
-
version_requirements: *id006
|
92
|
+
requirements:
|
93
|
+
- - ! '>='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
- !ruby/object:Gem::Dependency
|
115
97
|
name: om
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
100
|
+
requirements:
|
101
|
+
- - ~>
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 1.6.0
|
116
104
|
type: :runtime
|
117
|
-
- !ruby/object:Gem::Dependency
|
118
105
|
prerelease: false
|
119
|
-
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
120
107
|
none: false
|
121
|
-
requirements:
|
108
|
+
requirements:
|
122
109
|
- - ~>
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
|
125
|
-
|
126
|
-
- 1
|
127
|
-
- 2
|
128
|
-
- 0
|
129
|
-
version: 1.2.0
|
130
|
-
version_requirements: *id007
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 1.6.0
|
112
|
+
- !ruby/object:Gem::Dependency
|
131
113
|
name: solrizer
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
none: false
|
116
|
+
requirements:
|
117
|
+
- - ~>
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: 1.2.0
|
132
120
|
type: :runtime
|
133
|
-
- !ruby/object:Gem::Dependency
|
134
121
|
prerelease: false
|
135
|
-
|
136
|
-
none: false
|
137
|
-
requirements:
|
138
|
-
- -
|
139
|
-
- !ruby/object:Gem::Version
|
140
|
-
|
141
|
-
|
142
|
-
- 3
|
143
|
-
- 0
|
144
|
-
- 0
|
145
|
-
version: 3.0.0
|
146
|
-
version_requirements: *id008
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
124
|
+
requirements:
|
125
|
+
- - ~>
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: 1.2.0
|
128
|
+
- !ruby/object:Gem::Dependency
|
147
129
|
name: activeresource
|
130
|
+
requirement: !ruby/object:Gem::Requirement
|
131
|
+
none: false
|
132
|
+
requirements:
|
133
|
+
- - ! '>='
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: 3.0.0
|
148
136
|
type: :runtime
|
149
|
-
- !ruby/object:Gem::Dependency
|
150
137
|
prerelease: false
|
151
|
-
|
152
|
-
none: false
|
153
|
-
requirements:
|
154
|
-
- -
|
155
|
-
- !ruby/object:Gem::Version
|
156
|
-
hash: 7
|
157
|
-
segments:
|
158
|
-
- 3
|
159
|
-
- 0
|
160
|
-
- 0
|
138
|
+
version_requirements: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
140
|
+
requirements:
|
141
|
+
- - ! '>='
|
142
|
+
- !ruby/object:Gem::Version
|
161
143
|
version: 3.0.0
|
162
|
-
|
144
|
+
- !ruby/object:Gem::Dependency
|
163
145
|
name: activesupport
|
146
|
+
requirement: !ruby/object:Gem::Requirement
|
147
|
+
none: false
|
148
|
+
requirements:
|
149
|
+
- - ! '>='
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: 3.0.0
|
164
152
|
type: :runtime
|
165
|
-
- !ruby/object:Gem::Dependency
|
166
153
|
prerelease: false
|
167
|
-
|
168
|
-
none: false
|
169
|
-
requirements:
|
170
|
-
- -
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
|
173
|
-
|
174
|
-
- 0
|
175
|
-
version: "0"
|
176
|
-
version_requirements: *id010
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
none: false
|
156
|
+
requirements:
|
157
|
+
- - ! '>='
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 3.0.0
|
160
|
+
- !ruby/object:Gem::Dependency
|
177
161
|
name: mediashelf-loggable
|
162
|
+
requirement: !ruby/object:Gem::Requirement
|
163
|
+
none: false
|
164
|
+
requirements:
|
165
|
+
- - ! '>='
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: '0'
|
178
168
|
type: :runtime
|
179
|
-
- !ruby/object:Gem::Dependency
|
180
169
|
prerelease: false
|
181
|
-
|
182
|
-
none: false
|
183
|
-
requirements:
|
184
|
-
- -
|
185
|
-
- !ruby/object:Gem::Version
|
186
|
-
|
187
|
-
|
188
|
-
- 0
|
189
|
-
version: "0"
|
190
|
-
version_requirements: *id011
|
170
|
+
version_requirements: !ruby/object:Gem::Requirement
|
171
|
+
none: false
|
172
|
+
requirements:
|
173
|
+
- - ! '>='
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '0'
|
176
|
+
- !ruby/object:Gem::Dependency
|
191
177
|
name: equivalent-xml
|
178
|
+
requirement: !ruby/object:Gem::Requirement
|
179
|
+
none: false
|
180
|
+
requirements:
|
181
|
+
- - ! '>='
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: '0'
|
192
184
|
type: :runtime
|
193
|
-
- !ruby/object:Gem::Dependency
|
194
185
|
prerelease: false
|
195
|
-
|
186
|
+
version_requirements: !ruby/object:Gem::Requirement
|
196
187
|
none: false
|
197
|
-
requirements:
|
198
|
-
- -
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
|
201
|
-
|
202
|
-
- 0
|
203
|
-
- 5
|
204
|
-
- 7
|
205
|
-
version: 0.5.7
|
206
|
-
version_requirements: *id012
|
188
|
+
requirements:
|
189
|
+
- - ! '>='
|
190
|
+
- !ruby/object:Gem::Version
|
191
|
+
version: '0'
|
192
|
+
- !ruby/object:Gem::Dependency
|
207
193
|
name: rubydora
|
194
|
+
requirement: !ruby/object:Gem::Requirement
|
195
|
+
none: false
|
196
|
+
requirements:
|
197
|
+
- - ~>
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: 0.5.8
|
208
200
|
type: :runtime
|
209
|
-
- !ruby/object:Gem::Dependency
|
210
201
|
prerelease: false
|
211
|
-
|
212
|
-
none: false
|
213
|
-
requirements:
|
214
|
-
- -
|
215
|
-
- !ruby/object:Gem::Version
|
216
|
-
|
217
|
-
|
218
|
-
- 0
|
219
|
-
version: "0"
|
220
|
-
version_requirements: *id013
|
202
|
+
version_requirements: !ruby/object:Gem::Requirement
|
203
|
+
none: false
|
204
|
+
requirements:
|
205
|
+
- - ~>
|
206
|
+
- !ruby/object:Gem::Version
|
207
|
+
version: 0.5.8
|
208
|
+
- !ruby/object:Gem::Dependency
|
221
209
|
name: rdf
|
210
|
+
requirement: !ruby/object:Gem::Requirement
|
211
|
+
none: false
|
212
|
+
requirements:
|
213
|
+
- - ! '>='
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
222
216
|
type: :runtime
|
223
|
-
- !ruby/object:Gem::Dependency
|
224
217
|
prerelease: false
|
225
|
-
|
226
|
-
none: false
|
227
|
-
requirements:
|
228
|
-
- -
|
229
|
-
- !ruby/object:Gem::Version
|
230
|
-
|
231
|
-
|
232
|
-
- 0
|
233
|
-
- 3
|
234
|
-
- 5
|
235
|
-
version: 0.3.5
|
236
|
-
version_requirements: *id014
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
none: false
|
220
|
+
requirements:
|
221
|
+
- - ! '>='
|
222
|
+
- !ruby/object:Gem::Version
|
223
|
+
version: '0'
|
224
|
+
- !ruby/object:Gem::Dependency
|
237
225
|
name: rdf-rdfxml
|
226
|
+
requirement: !ruby/object:Gem::Requirement
|
227
|
+
none: false
|
228
|
+
requirements:
|
229
|
+
- - '='
|
230
|
+
- !ruby/object:Gem::Version
|
231
|
+
version: 0.3.5
|
238
232
|
type: :runtime
|
239
|
-
- !ruby/object:Gem::Dependency
|
240
233
|
prerelease: false
|
241
|
-
|
242
|
-
none: false
|
243
|
-
requirements:
|
244
|
-
- -
|
245
|
-
- !ruby/object:Gem::Version
|
246
|
-
|
247
|
-
|
248
|
-
- 0
|
249
|
-
version: "0"
|
250
|
-
version_requirements: *id015
|
234
|
+
version_requirements: !ruby/object:Gem::Requirement
|
235
|
+
none: false
|
236
|
+
requirements:
|
237
|
+
- - '='
|
238
|
+
- !ruby/object:Gem::Version
|
239
|
+
version: 0.3.5
|
240
|
+
- !ruby/object:Gem::Dependency
|
251
241
|
name: yard
|
242
|
+
requirement: !ruby/object:Gem::Requirement
|
243
|
+
none: false
|
244
|
+
requirements:
|
245
|
+
- - ! '>='
|
246
|
+
- !ruby/object:Gem::Version
|
247
|
+
version: '0'
|
252
248
|
type: :development
|
253
|
-
- !ruby/object:Gem::Dependency
|
254
249
|
prerelease: false
|
255
|
-
|
256
|
-
none: false
|
257
|
-
requirements:
|
258
|
-
- -
|
259
|
-
- !ruby/object:Gem::Version
|
260
|
-
|
261
|
-
|
262
|
-
- 0
|
263
|
-
version: "0"
|
264
|
-
version_requirements: *id016
|
250
|
+
version_requirements: !ruby/object:Gem::Requirement
|
251
|
+
none: false
|
252
|
+
requirements:
|
253
|
+
- - ! '>='
|
254
|
+
- !ruby/object:Gem::Version
|
255
|
+
version: '0'
|
256
|
+
- !ruby/object:Gem::Dependency
|
265
257
|
name: RedCloth
|
258
|
+
requirement: !ruby/object:Gem::Requirement
|
259
|
+
none: false
|
260
|
+
requirements:
|
261
|
+
- - ! '>='
|
262
|
+
- !ruby/object:Gem::Version
|
263
|
+
version: '0'
|
266
264
|
type: :development
|
267
|
-
- !ruby/object:Gem::Dependency
|
268
265
|
prerelease: false
|
269
|
-
|
270
|
-
none: false
|
271
|
-
requirements:
|
272
|
-
- -
|
273
|
-
- !ruby/object:Gem::Version
|
274
|
-
|
275
|
-
|
276
|
-
- 0
|
277
|
-
version: "0"
|
278
|
-
version_requirements: *id017
|
266
|
+
version_requirements: !ruby/object:Gem::Requirement
|
267
|
+
none: false
|
268
|
+
requirements:
|
269
|
+
- - ! '>='
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '0'
|
272
|
+
- !ruby/object:Gem::Dependency
|
279
273
|
name: rake
|
274
|
+
requirement: !ruby/object:Gem::Requirement
|
275
|
+
none: false
|
276
|
+
requirements:
|
277
|
+
- - ! '>='
|
278
|
+
- !ruby/object:Gem::Version
|
279
|
+
version: '0'
|
280
280
|
type: :development
|
281
|
-
- !ruby/object:Gem::Dependency
|
282
281
|
prerelease: false
|
283
|
-
|
284
|
-
none: false
|
285
|
-
requirements:
|
286
|
-
- -
|
287
|
-
- !ruby/object:Gem::Version
|
288
|
-
|
289
|
-
|
290
|
-
- 1
|
291
|
-
- 2
|
292
|
-
- 0
|
293
|
-
version: 1.2.0
|
294
|
-
version_requirements: *id018
|
282
|
+
version_requirements: !ruby/object:Gem::Requirement
|
283
|
+
none: false
|
284
|
+
requirements:
|
285
|
+
- - ! '>='
|
286
|
+
- !ruby/object:Gem::Version
|
287
|
+
version: '0'
|
288
|
+
- !ruby/object:Gem::Dependency
|
295
289
|
name: jettywrapper
|
290
|
+
requirement: !ruby/object:Gem::Requirement
|
291
|
+
none: false
|
292
|
+
requirements:
|
293
|
+
- - ! '>='
|
294
|
+
- !ruby/object:Gem::Version
|
295
|
+
version: 1.2.0
|
296
296
|
type: :development
|
297
|
-
- !ruby/object:Gem::Dependency
|
298
297
|
prerelease: false
|
299
|
-
|
300
|
-
none: false
|
301
|
-
requirements:
|
302
|
-
- -
|
303
|
-
- !ruby/object:Gem::Version
|
304
|
-
|
305
|
-
|
306
|
-
- 2
|
307
|
-
- 9
|
308
|
-
- 0
|
309
|
-
version: 2.9.0
|
310
|
-
version_requirements: *id019
|
298
|
+
version_requirements: !ruby/object:Gem::Requirement
|
299
|
+
none: false
|
300
|
+
requirements:
|
301
|
+
- - ! '>='
|
302
|
+
- !ruby/object:Gem::Version
|
303
|
+
version: 1.2.0
|
304
|
+
- !ruby/object:Gem::Dependency
|
311
305
|
name: rspec
|
306
|
+
requirement: !ruby/object:Gem::Requirement
|
307
|
+
none: false
|
308
|
+
requirements:
|
309
|
+
- - ! '>='
|
310
|
+
- !ruby/object:Gem::Version
|
311
|
+
version: 2.9.0
|
312
312
|
type: :development
|
313
|
-
- !ruby/object:Gem::Dependency
|
314
313
|
prerelease: false
|
315
|
-
|
316
|
-
none: false
|
317
|
-
requirements:
|
318
|
-
- -
|
319
|
-
- !ruby/object:Gem::Version
|
320
|
-
|
321
|
-
|
322
|
-
- 0
|
323
|
-
- 9
|
324
|
-
- 8
|
325
|
-
version: 0.9.8
|
326
|
-
version_requirements: *id020
|
314
|
+
version_requirements: !ruby/object:Gem::Requirement
|
315
|
+
none: false
|
316
|
+
requirements:
|
317
|
+
- - ! '>='
|
318
|
+
- !ruby/object:Gem::Version
|
319
|
+
version: 2.9.0
|
320
|
+
- !ruby/object:Gem::Dependency
|
327
321
|
name: mocha
|
322
|
+
requirement: !ruby/object:Gem::Requirement
|
323
|
+
none: false
|
324
|
+
requirements:
|
325
|
+
- - ! '>='
|
326
|
+
- !ruby/object:Gem::Version
|
327
|
+
version: 0.9.8
|
328
328
|
type: :development
|
329
|
-
|
330
|
-
|
329
|
+
prerelease: false
|
330
|
+
version_requirements: !ruby/object:Gem::Requirement
|
331
|
+
none: false
|
332
|
+
requirements:
|
333
|
+
- - ! '>='
|
334
|
+
- !ruby/object:Gem::Version
|
335
|
+
version: 0.9.8
|
336
|
+
description: ActiveFedora provides for creating and managing objects in the Fedora
|
337
|
+
Repository Architecture.
|
338
|
+
email:
|
331
339
|
- matt.zumwalt@yourmediashelf.com
|
332
340
|
executables: []
|
333
|
-
|
334
341
|
extensions: []
|
335
|
-
|
336
|
-
extra_rdoc_files:
|
342
|
+
extra_rdoc_files:
|
337
343
|
- LICENSE
|
338
344
|
- README.textile
|
339
|
-
files:
|
345
|
+
files:
|
340
346
|
- .document
|
341
347
|
- .gitignore
|
342
348
|
- .gitmodules
|
@@ -386,6 +392,7 @@ files:
|
|
386
392
|
- lib/active_fedora/file_management.rb
|
387
393
|
- lib/active_fedora/fixture_exporter.rb
|
388
394
|
- lib/active_fedora/fixture_loader.rb
|
395
|
+
- lib/active_fedora/locale/en.yml
|
389
396
|
- lib/active_fedora/metadata_datastream.rb
|
390
397
|
- lib/active_fedora/metadata_datastream_helper.rb
|
391
398
|
- lib/active_fedora/model.rb
|
@@ -547,42 +554,37 @@ files:
|
|
547
554
|
- spec/unit/solr_service_spec.rb
|
548
555
|
- spec/unit/unsaved_digital_object_spec.rb
|
549
556
|
- spec/unit/validations_spec.rb
|
550
|
-
homepage:
|
557
|
+
homepage: https://github.com/projecthydra/active_fedora
|
551
558
|
licenses: []
|
552
|
-
|
553
559
|
post_install_message:
|
554
560
|
rdoc_options: []
|
555
|
-
|
556
|
-
require_paths:
|
561
|
+
require_paths:
|
557
562
|
- lib
|
558
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
563
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
559
564
|
none: false
|
560
|
-
requirements:
|
561
|
-
- -
|
562
|
-
- !ruby/object:Gem::Version
|
563
|
-
|
564
|
-
segments:
|
565
|
+
requirements:
|
566
|
+
- - ! '>='
|
567
|
+
- !ruby/object:Gem::Version
|
568
|
+
version: '0'
|
569
|
+
segments:
|
565
570
|
- 0
|
566
|
-
|
567
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
571
|
+
hash: 2634316874790357809
|
572
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
568
573
|
none: false
|
569
|
-
requirements:
|
570
|
-
- -
|
571
|
-
- !ruby/object:Gem::Version
|
572
|
-
|
573
|
-
segments:
|
574
|
-
-
|
575
|
-
|
576
|
-
- 1
|
577
|
-
version: 1.3.1
|
574
|
+
requirements:
|
575
|
+
- - ! '>='
|
576
|
+
- !ruby/object:Gem::Version
|
577
|
+
version: '0'
|
578
|
+
segments:
|
579
|
+
- 0
|
580
|
+
hash: 2634316874790357809
|
578
581
|
requirements: []
|
579
|
-
|
580
582
|
rubyforge_project: rubyfedora
|
581
|
-
rubygems_version: 1.8.
|
583
|
+
rubygems_version: 1.8.21
|
582
584
|
signing_key:
|
583
585
|
specification_version: 3
|
584
|
-
summary: A convenience libary for manipulating
|
585
|
-
test_files:
|
586
|
+
summary: A convenience libary for manipulating documents in the Fedora Repository.
|
587
|
+
test_files:
|
586
588
|
- spec/config_helper.rb
|
587
589
|
- spec/fixtures/changeme155.xml
|
588
590
|
- spec/fixtures/dino.jpg
|