fcrepo_admin 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/HISTORY.rdoc +8 -0
- data/app/controllers/fcrepo_admin/datastreams_controller.rb +28 -6
- data/app/views/fcrepo_admin/datastreams/edit.html.erb +19 -0
- data/app/views/fcrepo_admin/datastreams/show.html.erb +20 -15
- data/config/locales/fcrepo_admin.en.yml +5 -0
- data/config/routes.rb +1 -1
- data/fcrepo_admin.gemspec +1 -1
- data/lib/fcrepo_admin.rb +1 -0
- data/lib/fcrepo_admin/controller_behavior.rb +25 -2
- data/lib/fcrepo_admin/datastream_ability.rb +17 -0
- data/lib/fcrepo_admin/version.rb +1 -1
- data/spec/controllers/datastreams_controller_spec.rb +54 -7
- data/spec/features/datastreams/edit.html.erb_spec.rb +34 -0
- data/spec/features/datastreams/show.html.erb_spec.rb +28 -21
- data/spec/internal/app/models/ability.rb +1 -0
- data/spec/internal/app/models/content_model.rb +1 -0
- data/spec/internal/spec/fixtures/files/descMetadata.xml +3 -0
- data/spec/spec_helper.rb +3 -0
- metadata +46 -5
- checksums.yaml +0 -15
data/HISTORY.rdoc
ADDED
@@ -2,28 +2,50 @@ require 'mime/types'
|
|
2
2
|
|
3
3
|
module FcrepoAdmin
|
4
4
|
class DatastreamsController < ApplicationController
|
5
|
-
|
5
|
+
|
6
6
|
include FcrepoAdmin::ControllerBehavior
|
7
|
+
# include CanCan::ControllerAdditions
|
7
8
|
|
8
9
|
TEXT_MIME_TYPES = ['application/xml', 'application/rdf+xml', 'application/json']
|
9
10
|
|
10
|
-
before_filter :load_and_authz_object
|
11
|
+
before_filter :load_and_authz_object, :only => :index
|
12
|
+
before_filter :load_and_authz_datastream, :except => :index
|
13
|
+
before_filter :inline_filter, :only => [:show, :edit]
|
11
14
|
|
12
15
|
def index
|
13
|
-
# @object loaded and authz'd by before_filter
|
14
16
|
end
|
15
17
|
|
16
18
|
def show
|
17
|
-
@datastream = @object.datastreams[params[:id]]
|
18
|
-
@inline = @datastream.mimeType.start_with?('text/') || TEXT_MIME_TYPES.include?(@datastream.mimeType)
|
19
19
|
end
|
20
20
|
|
21
21
|
def download
|
22
|
-
@datastream = @object.datastreams[params[:id]]
|
23
22
|
mimetypes = MIME::Types[@datastream.mimeType]
|
24
23
|
send_data @datastream.content, :disposition => 'attachment', :type => @datastream.mimeType, :filename => "#{@datastream.pid.sub(/:/, '_')}_#{@datastream.dsid}.#{mimetypes.first.extensions.first}"
|
25
24
|
end
|
26
25
|
|
26
|
+
def edit
|
27
|
+
end
|
28
|
+
|
29
|
+
def update
|
30
|
+
if params[:file]
|
31
|
+
File.open(params[:file], 'rb') do |f|
|
32
|
+
# FIXME read in chunks
|
33
|
+
@datastream.content = f.read
|
34
|
+
end
|
35
|
+
else
|
36
|
+
@datastream.content = params[:content]
|
37
|
+
end
|
38
|
+
@object.save
|
39
|
+
flash[:notice] = "Datastream content updated."
|
40
|
+
redirect_to fcrepo_admin.object_datastream_url(@object, @datastream.dsid)
|
41
|
+
end
|
42
|
+
|
43
|
+
protected
|
44
|
+
|
45
|
+
def inline_filter
|
46
|
+
@inline = @datastream.mimeType.start_with?('text/') || TEXT_MIME_TYPES.include?(@datastream.mimeType)
|
47
|
+
end
|
48
|
+
|
27
49
|
end
|
28
50
|
end
|
29
51
|
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<h1><%= @datastream.pid %></h1>
|
2
|
+
|
3
|
+
<h3><%= t("fcrepo_admin.datastream.title") %>: <%= @datastream.dsid %></h3>
|
4
|
+
|
5
|
+
<%= form_tag fcrepo_admin.object_datastream_path(@datastream.pid, @datastream.dsid), :method => :put, :multipart => true do %>
|
6
|
+
<% if @inline %>
|
7
|
+
<div>
|
8
|
+
<%= label_tag "content", t("fcrepo_admin.datastream.edit.content") %>
|
9
|
+
<%= text_area_tag "content", @datastream.content, :size => "50x20", :class => "field span9" %>
|
10
|
+
</div>
|
11
|
+
<% end %>
|
12
|
+
<div>
|
13
|
+
<%= label_tag "file", t("fcrepo_admin.datastream.edit.file") %>
|
14
|
+
<%= file_field_tag "file" %>
|
15
|
+
</div>
|
16
|
+
<p>
|
17
|
+
<%= submit_tag t("fcrepo_admin.datastream.edit.submit"), :confirm => t("fcrepo_admin.datastream.edit.confirm"), :class => "btn btn-primary" %>
|
18
|
+
</p>
|
19
|
+
<% end %>
|
@@ -1,22 +1,27 @@
|
|
1
1
|
<h1><%= @datastream.pid %></h1>
|
2
2
|
|
3
|
-
<
|
3
|
+
<ul class="pull-right nav nav-pills">
|
4
|
+
<% if can? :edit, @datastream %>
|
5
|
+
<li>
|
6
|
+
<%= link_to content_tag(:i, "", :class => "icon-pencil"), fcrepo_admin.edit_object_datastream_path(@datastream.pid, @datastream.dsid) %>
|
7
|
+
</li>
|
8
|
+
<% end %>
|
9
|
+
</ul>
|
4
10
|
|
5
|
-
<
|
11
|
+
<h3><%= t("fcrepo_admin.datastream.title") %>: <%= @datastream.dsid %></h3>
|
6
12
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
</div>
|
13
|
+
<div class="tabbable">
|
14
|
+
<ul class="nav nav-tabs">
|
15
|
+
<li class="active"><a href="#tab1" data-toggle="tab"><%= t("fcrepo_admin.datastream.tabs.content") %></a></li>
|
16
|
+
<li><a href="#tab2" data-toggle="tab"><%= t("fcrepo_admin.datastream.tabs.profile") %></a></li>
|
17
|
+
</ul>
|
18
|
+
<div class="tab-content">
|
19
|
+
<div class="tab-pane active" id="tab1">
|
20
|
+
<%= render :partial => 'content', :locals => {:datastream => @datastream, :inline => @inline} %>
|
21
|
+
</div>
|
22
|
+
<div class="tab-pane" id="tab2">
|
23
|
+
<%= render :partial => 'profile', :locals => {:datastream => @datastream} %>
|
19
24
|
</div>
|
20
25
|
</div>
|
21
|
-
|
22
26
|
</div>
|
27
|
+
|
@@ -52,4 +52,9 @@ en:
|
|
52
52
|
dsLocationType: 'Location Type'
|
53
53
|
dsChecksumType: 'Checksum Type'
|
54
54
|
dsChecksum: 'Checksum'
|
55
|
+
edit:
|
56
|
+
file: 'Upload File'
|
57
|
+
content: 'Replace Content'
|
58
|
+
confirm: "These changes are not validated and cannot be undone!"
|
59
|
+
submit: 'Update Content'
|
55
60
|
|
data/config/routes.rb
CHANGED
@@ -2,7 +2,7 @@ FcrepoAdmin::Engine.routes.draw do
|
|
2
2
|
|
3
3
|
scope :module => "fcrepo_admin" do
|
4
4
|
resources :objects, :only => :show do
|
5
|
-
resources :datastreams, :only => [:index, :show] do
|
5
|
+
resources :datastreams, :only => [:index, :show, :edit, :update] do
|
6
6
|
member do
|
7
7
|
get 'download'
|
8
8
|
end
|
data/fcrepo_admin.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.files = `git ls-files`.split("\n")
|
21
21
|
s.test_files = `git ls-files -- spec/*`.split("\n")
|
22
22
|
|
23
|
-
s.extra_rdoc_files = ["LICENSE", "README.rdoc"]
|
23
|
+
s.extra_rdoc_files = ["LICENSE", "README.rdoc", "HISTORY.rdoc"]
|
24
24
|
|
25
25
|
s.require_paths = ["lib"]
|
26
26
|
|
data/lib/fcrepo_admin.rb
CHANGED
@@ -2,9 +2,32 @@ module FcrepoAdmin
|
|
2
2
|
module ControllerBehavior
|
3
3
|
|
4
4
|
def load_and_authz_object
|
5
|
+
load_object
|
6
|
+
authorize_object
|
7
|
+
end
|
8
|
+
|
9
|
+
def load_object
|
5
10
|
@object = ActiveFedora::Base.find(params[:object_id], :cast => true)
|
6
|
-
|
7
|
-
|
11
|
+
end
|
12
|
+
|
13
|
+
def authorize_object
|
14
|
+
#authorize_resource :instance_name => 'object'
|
15
|
+
authorize! params[:action].to_sym, @object
|
16
|
+
end
|
17
|
+
|
18
|
+
def load_and_authz_datastream
|
19
|
+
load_datastream
|
20
|
+
authorize_datastream
|
21
|
+
end
|
22
|
+
|
23
|
+
def load_datastream
|
24
|
+
load_object
|
25
|
+
@datastream = @object.datastreams[params[:id]]
|
26
|
+
end
|
27
|
+
|
28
|
+
def authorize_datastream
|
29
|
+
authorize! params[:action].to_sym, @datastream
|
30
|
+
end
|
8
31
|
|
9
32
|
end
|
10
33
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'cancan'
|
2
|
+
|
3
|
+
module FcrepoAdmin
|
4
|
+
module DatastreamAbility
|
5
|
+
|
6
|
+
def custom_permissions
|
7
|
+
can :read, ActiveFedora::Datastream do |ds|
|
8
|
+
test_read(ds.pid)
|
9
|
+
end
|
10
|
+
|
11
|
+
can [:edit, :update, :destroy], ActiveFedora::Datastream do |ds|
|
12
|
+
test_edit(ds.pid)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
data/lib/fcrepo_admin/version.rb
CHANGED
@@ -5,17 +5,64 @@ shared_examples "a datastream profile view" do
|
|
5
5
|
end
|
6
6
|
|
7
7
|
describe FcrepoAdmin::DatastreamsController do
|
8
|
-
|
8
|
+
before do
|
9
|
+
@object = FactoryGirl.create(:content_model)
|
10
|
+
@dsid = "descMetadata"
|
11
|
+
end
|
12
|
+
after { @object.delete }
|
9
13
|
context "#show" do
|
10
|
-
|
11
|
-
|
12
|
-
context "profile information" do
|
13
|
-
subject { get :show, :object_id => object, :id => dsid, :use_route => 'fcrepo_admin' }
|
14
|
+
context "browser view" do
|
15
|
+
subject { get :show, :object_id => @object, :id => @dsid, :use_route => 'fcrepo_admin' }
|
14
16
|
it { should render_template(:show) }
|
15
17
|
end
|
16
|
-
context "download
|
17
|
-
subject { get :show, :object_id => object, :id => dsid, :download => 'true', :use_route => 'fcrepo_admin' }
|
18
|
+
context "download" do
|
19
|
+
subject { get :show, :object_id => @object, :id => @dsid, :download => 'true', :use_route => 'fcrepo_admin' }
|
18
20
|
it { should be_successful }
|
19
21
|
end
|
20
22
|
end
|
23
|
+
context "change methods" do
|
24
|
+
let(:user) { FactoryGirl.create(:user) }
|
25
|
+
before do
|
26
|
+
@object.permissions = [{type: 'user', name: user.email, access: 'edit'}]
|
27
|
+
@object.save
|
28
|
+
sign_in user
|
29
|
+
end
|
30
|
+
after { user.delete }
|
31
|
+
context "#edit" do
|
32
|
+
subject { get :edit, :object_id => @object, :id => @dsid, :use_route => 'fcrepo_admin' }
|
33
|
+
it { should render_template(:edit) }
|
34
|
+
end
|
35
|
+
context "#update" do
|
36
|
+
context "content" do
|
37
|
+
before do
|
38
|
+
@content = <<EOS
|
39
|
+
<dc xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
40
|
+
<dcterms:title>Altered Test Component</dcterms:title>
|
41
|
+
</dc>
|
42
|
+
EOS
|
43
|
+
put :update, :object_id => @object, :id => @dsid, :content => @content, :use_route => 'fcrepo_admin'
|
44
|
+
@object.reload
|
45
|
+
end
|
46
|
+
it "should update the datastream content and redirect to the show page" do
|
47
|
+
@object.title.should == "Altered Test Component"
|
48
|
+
# TODO get this to work
|
49
|
+
# response.should redirect_to :action => :show, :object_id => @object, :id => @dsid, :use_route => 'fcrepo_admin'
|
50
|
+
response.response_code.should == 302
|
51
|
+
end
|
52
|
+
end
|
53
|
+
context "file" do
|
54
|
+
before do
|
55
|
+
@file = fixture_file_upload('/files/descMetadata.xml', 'text/xml')
|
56
|
+
put :update, :object_id => @object, :id => @dsid, :file => @file, :use_route => 'fcrepo_admin'
|
57
|
+
@object.reload
|
58
|
+
end
|
59
|
+
it "should update the datastream content and redirect to the show page" do
|
60
|
+
@object.title.should == "Altered Test Component"
|
61
|
+
# TODO get this to work
|
62
|
+
# response.should redirect_to :action => :show, :object_id => @object, :id => @dsid, :use_route => 'fcrepo_admin'
|
63
|
+
response.response_code.should == 302
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
21
68
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.configure do |c|
|
4
|
+
Warden.test_mode!
|
5
|
+
end
|
6
|
+
|
7
|
+
describe "datastreams/edit.html.erb" do
|
8
|
+
let(:object) { FactoryGirl.create(:content_model) }
|
9
|
+
let(:user) { FactoryGirl.create(:user) }
|
10
|
+
before {
|
11
|
+
object.permissions = [{type: 'user', name: user.email, access: 'edit'}]
|
12
|
+
object.save
|
13
|
+
login_as(user, :scope => :user, :run_callbacks => false)
|
14
|
+
visit fcrepo_admin.edit_object_datastream_path(object, "descMetadata")
|
15
|
+
}
|
16
|
+
after do
|
17
|
+
user.delete
|
18
|
+
object.delete
|
19
|
+
Warden.test_reset!
|
20
|
+
end
|
21
|
+
it "should provide an upload form to replace content" do
|
22
|
+
|
23
|
+
end
|
24
|
+
it "should provide a text field to edit/replace text content" do
|
25
|
+
fill_in "content", :with => <<EOS
|
26
|
+
<dc xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
27
|
+
<dcterms:title>Altered Test Component</dcterms:title>
|
28
|
+
</dc>
|
29
|
+
EOS
|
30
|
+
click_button I18n.t("fcrepo_admin.datastream.edit.submit")
|
31
|
+
object.reload
|
32
|
+
object.title.should == "Altered Test Component"
|
33
|
+
end
|
34
|
+
end
|
@@ -1,31 +1,38 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
|
3
|
+
RSpec.configure do |c|
|
4
|
+
Warden.test_mode!
|
5
|
+
end
|
6
|
+
|
7
|
+
describe "datastreams/show.html.erb" do
|
8
|
+
let!(:object) { FactoryGirl.create(:content_model) }
|
9
|
+
let(:dsid) { "descMetadata" }
|
10
|
+
before { visit fcrepo_admin.object_datastream_path(object, dsid) }
|
11
|
+
after { object.delete }
|
4
12
|
it "should display all attributes of the datastream profile" do
|
5
13
|
object.datastreams[dsid].profile.each do |key, value|
|
6
|
-
|
7
|
-
|
14
|
+
# TODO use paths
|
15
|
+
page.should have_content(I18n.t("fcrepo_admin.datastream.profile.#{key}"))
|
16
|
+
page.should have_content(value)
|
8
17
|
end
|
9
18
|
end
|
10
19
|
it "should have a link to download the datastream content" do
|
11
|
-
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
shared_examples "an object having datastream show pages" do
|
16
|
-
it_behaves_like "a datastream show page" do
|
17
|
-
let(:dsid) { "DC" }
|
18
|
-
end
|
19
|
-
it_behaves_like "a datastream show page" do
|
20
|
-
let(:dsid) { "RELS-EXT" }
|
20
|
+
page.should have_link(I18n.t("fcrepo_admin.datastream.download"), :href => fcrepo_admin.download_object_datastream_path(object, dsid))
|
21
21
|
end
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
22
|
+
context "user can edit" do
|
23
|
+
let(:user) { FactoryGirl.create(:user) }
|
24
|
+
before do
|
25
|
+
object.permissions = [{type: 'user', name: user.email, access: 'edit'}]
|
26
|
+
object.save
|
27
|
+
login_as(user, :scope => :user, :run_callbacks => false)
|
28
|
+
visit fcrepo_admin.object_datastream_path(object, dsid)
|
29
|
+
end
|
30
|
+
after do
|
31
|
+
user.delete
|
32
|
+
Warden.test_reset!
|
33
|
+
end
|
34
|
+
it "should have a link to the edit page" do
|
35
|
+
page.should have_link("", :href => fcrepo_admin.edit_object_datastream_path(object, dsid))
|
36
|
+
end
|
30
37
|
end
|
31
38
|
end
|
@@ -2,6 +2,7 @@ class ContentModel < ActiveFedora::Base
|
|
2
2
|
|
3
3
|
has_metadata :name => "descMetadata", :type => ActiveFedora::QualifiedDublinCoreDatastream
|
4
4
|
has_metadata :name => "rightsMetadata", :type => Hydra::Datastream::RightsMetadata
|
5
|
+
has_file_datastream :name => "content", :type => ActiveFedora::Datastream
|
5
6
|
|
6
7
|
delegate :title, :to => "descMetadata", :unique => true
|
7
8
|
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fcrepo_admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- David Chandek-Stark
|
@@ -11,11 +12,12 @@ authors:
|
|
11
12
|
autorequire:
|
12
13
|
bindir: bin
|
13
14
|
cert_chain: []
|
14
|
-
date: 2013-04-
|
15
|
+
date: 2013-04-12 00:00:00.000000000 Z
|
15
16
|
dependencies:
|
16
17
|
- !ruby/object:Gem::Dependency
|
17
18
|
name: hydra-head
|
18
19
|
requirement: !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
19
21
|
requirements:
|
20
22
|
- - '='
|
21
23
|
- !ruby/object:Gem::Version
|
@@ -23,6 +25,7 @@ dependencies:
|
|
23
25
|
type: :runtime
|
24
26
|
prerelease: false
|
25
27
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
26
29
|
requirements:
|
27
30
|
- - '='
|
28
31
|
- !ruby/object:Gem::Version
|
@@ -30,6 +33,7 @@ dependencies:
|
|
30
33
|
- !ruby/object:Gem::Dependency
|
31
34
|
name: blacklight
|
32
35
|
requirement: !ruby/object:Gem::Requirement
|
36
|
+
none: false
|
33
37
|
requirements:
|
34
38
|
- - ! '>='
|
35
39
|
- !ruby/object:Gem::Version
|
@@ -37,6 +41,7 @@ dependencies:
|
|
37
41
|
type: :runtime
|
38
42
|
prerelease: false
|
39
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
40
45
|
requirements:
|
41
46
|
- - ! '>='
|
42
47
|
- !ruby/object:Gem::Version
|
@@ -44,6 +49,7 @@ dependencies:
|
|
44
49
|
- !ruby/object:Gem::Dependency
|
45
50
|
name: rails
|
46
51
|
requirement: !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
47
53
|
requirements:
|
48
54
|
- - ~>
|
49
55
|
- !ruby/object:Gem::Version
|
@@ -51,6 +57,7 @@ dependencies:
|
|
51
57
|
type: :runtime
|
52
58
|
prerelease: false
|
53
59
|
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
none: false
|
54
61
|
requirements:
|
55
62
|
- - ~>
|
56
63
|
- !ruby/object:Gem::Version
|
@@ -58,6 +65,7 @@ dependencies:
|
|
58
65
|
- !ruby/object:Gem::Dependency
|
59
66
|
name: mime-types
|
60
67
|
requirement: !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
61
69
|
requirements:
|
62
70
|
- - ~>
|
63
71
|
- !ruby/object:Gem::Version
|
@@ -65,6 +73,7 @@ dependencies:
|
|
65
73
|
type: :runtime
|
66
74
|
prerelease: false
|
67
75
|
version_requirements: !ruby/object:Gem::Requirement
|
76
|
+
none: false
|
68
77
|
requirements:
|
69
78
|
- - ~>
|
70
79
|
- !ruby/object:Gem::Version
|
@@ -72,6 +81,7 @@ dependencies:
|
|
72
81
|
- !ruby/object:Gem::Dependency
|
73
82
|
name: devise
|
74
83
|
requirement: !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
75
85
|
requirements:
|
76
86
|
- - ! '>='
|
77
87
|
- !ruby/object:Gem::Version
|
@@ -79,6 +89,7 @@ dependencies:
|
|
79
89
|
type: :development
|
80
90
|
prerelease: false
|
81
91
|
version_requirements: !ruby/object:Gem::Requirement
|
92
|
+
none: false
|
82
93
|
requirements:
|
83
94
|
- - ! '>='
|
84
95
|
- !ruby/object:Gem::Version
|
@@ -86,6 +97,7 @@ dependencies:
|
|
86
97
|
- !ruby/object:Gem::Dependency
|
87
98
|
name: rspec
|
88
99
|
requirement: !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
89
101
|
requirements:
|
90
102
|
- - ! '>='
|
91
103
|
- !ruby/object:Gem::Version
|
@@ -93,6 +105,7 @@ dependencies:
|
|
93
105
|
type: :development
|
94
106
|
prerelease: false
|
95
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
96
109
|
requirements:
|
97
110
|
- - ! '>='
|
98
111
|
- !ruby/object:Gem::Version
|
@@ -100,6 +113,7 @@ dependencies:
|
|
100
113
|
- !ruby/object:Gem::Dependency
|
101
114
|
name: rspec-rails
|
102
115
|
requirement: !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
103
117
|
requirements:
|
104
118
|
- - ! '>='
|
105
119
|
- !ruby/object:Gem::Version
|
@@ -107,6 +121,7 @@ dependencies:
|
|
107
121
|
type: :development
|
108
122
|
prerelease: false
|
109
123
|
version_requirements: !ruby/object:Gem::Requirement
|
124
|
+
none: false
|
110
125
|
requirements:
|
111
126
|
- - ! '>='
|
112
127
|
- !ruby/object:Gem::Version
|
@@ -114,6 +129,7 @@ dependencies:
|
|
114
129
|
- !ruby/object:Gem::Dependency
|
115
130
|
name: capybara
|
116
131
|
requirement: !ruby/object:Gem::Requirement
|
132
|
+
none: false
|
117
133
|
requirements:
|
118
134
|
- - ! '>='
|
119
135
|
- !ruby/object:Gem::Version
|
@@ -121,6 +137,7 @@ dependencies:
|
|
121
137
|
type: :development
|
122
138
|
prerelease: false
|
123
139
|
version_requirements: !ruby/object:Gem::Requirement
|
140
|
+
none: false
|
124
141
|
requirements:
|
125
142
|
- - ! '>='
|
126
143
|
- !ruby/object:Gem::Version
|
@@ -128,6 +145,7 @@ dependencies:
|
|
128
145
|
- !ruby/object:Gem::Dependency
|
129
146
|
name: sqlite3
|
130
147
|
requirement: !ruby/object:Gem::Requirement
|
148
|
+
none: false
|
131
149
|
requirements:
|
132
150
|
- - ! '>='
|
133
151
|
- !ruby/object:Gem::Version
|
@@ -135,6 +153,7 @@ dependencies:
|
|
135
153
|
type: :development
|
136
154
|
prerelease: false
|
137
155
|
version_requirements: !ruby/object:Gem::Requirement
|
156
|
+
none: false
|
138
157
|
requirements:
|
139
158
|
- - ! '>='
|
140
159
|
- !ruby/object:Gem::Version
|
@@ -142,6 +161,7 @@ dependencies:
|
|
142
161
|
- !ruby/object:Gem::Dependency
|
143
162
|
name: factory_girl_rails
|
144
163
|
requirement: !ruby/object:Gem::Requirement
|
164
|
+
none: false
|
145
165
|
requirements:
|
146
166
|
- - ! '>='
|
147
167
|
- !ruby/object:Gem::Version
|
@@ -149,6 +169,7 @@ dependencies:
|
|
149
169
|
type: :development
|
150
170
|
prerelease: false
|
151
171
|
version_requirements: !ruby/object:Gem::Requirement
|
172
|
+
none: false
|
152
173
|
requirements:
|
153
174
|
- - ! '>='
|
154
175
|
- !ruby/object:Gem::Version
|
@@ -156,6 +177,7 @@ dependencies:
|
|
156
177
|
- !ruby/object:Gem::Dependency
|
157
178
|
name: jettywrapper
|
158
179
|
requirement: !ruby/object:Gem::Requirement
|
180
|
+
none: false
|
159
181
|
requirements:
|
160
182
|
- - ! '>='
|
161
183
|
- !ruby/object:Gem::Version
|
@@ -163,6 +185,7 @@ dependencies:
|
|
163
185
|
type: :development
|
164
186
|
prerelease: false
|
165
187
|
version_requirements: !ruby/object:Gem::Requirement
|
188
|
+
none: false
|
166
189
|
requirements:
|
167
190
|
- - ! '>='
|
168
191
|
- !ruby/object:Gem::Version
|
@@ -170,6 +193,7 @@ dependencies:
|
|
170
193
|
- !ruby/object:Gem::Dependency
|
171
194
|
name: jquery-rails
|
172
195
|
requirement: !ruby/object:Gem::Requirement
|
196
|
+
none: false
|
173
197
|
requirements:
|
174
198
|
- - ! '>='
|
175
199
|
- !ruby/object:Gem::Version
|
@@ -177,6 +201,7 @@ dependencies:
|
|
177
201
|
type: :development
|
178
202
|
prerelease: false
|
179
203
|
version_requirements: !ruby/object:Gem::Requirement
|
204
|
+
none: false
|
180
205
|
requirements:
|
181
206
|
- - ! '>='
|
182
207
|
- !ruby/object:Gem::Version
|
@@ -184,6 +209,7 @@ dependencies:
|
|
184
209
|
- !ruby/object:Gem::Dependency
|
185
210
|
name: sass-rails
|
186
211
|
requirement: !ruby/object:Gem::Requirement
|
212
|
+
none: false
|
187
213
|
requirements:
|
188
214
|
- - ! '>='
|
189
215
|
- !ruby/object:Gem::Version
|
@@ -191,6 +217,7 @@ dependencies:
|
|
191
217
|
type: :development
|
192
218
|
prerelease: false
|
193
219
|
version_requirements: !ruby/object:Gem::Requirement
|
220
|
+
none: false
|
194
221
|
requirements:
|
195
222
|
- - ! '>='
|
196
223
|
- !ruby/object:Gem::Version
|
@@ -198,6 +225,7 @@ dependencies:
|
|
198
225
|
- !ruby/object:Gem::Dependency
|
199
226
|
name: bootstrap-sass
|
200
227
|
requirement: !ruby/object:Gem::Requirement
|
228
|
+
none: false
|
201
229
|
requirements:
|
202
230
|
- - ! '>='
|
203
231
|
- !ruby/object:Gem::Version
|
@@ -205,6 +233,7 @@ dependencies:
|
|
205
233
|
type: :development
|
206
234
|
prerelease: false
|
207
235
|
version_requirements: !ruby/object:Gem::Requirement
|
236
|
+
none: false
|
208
237
|
requirements:
|
209
238
|
- - ! '>='
|
210
239
|
- !ruby/object:Gem::Version
|
@@ -218,10 +247,12 @@ extensions: []
|
|
218
247
|
extra_rdoc_files:
|
219
248
|
- LICENSE
|
220
249
|
- README.rdoc
|
250
|
+
- HISTORY.rdoc
|
221
251
|
files:
|
222
252
|
- .gitignore
|
223
253
|
- .rspec
|
224
254
|
- Gemfile
|
255
|
+
- HISTORY.rdoc
|
225
256
|
- LICENSE
|
226
257
|
- README.rdoc
|
227
258
|
- Rakefile
|
@@ -237,6 +268,7 @@ files:
|
|
237
268
|
- app/views/fcrepo_admin/datastreams/_content.html.erb
|
238
269
|
- app/views/fcrepo_admin/datastreams/_datastreams.html
|
239
270
|
- app/views/fcrepo_admin/datastreams/_profile.html.erb
|
271
|
+
- app/views/fcrepo_admin/datastreams/edit.html.erb
|
240
272
|
- app/views/fcrepo_admin/datastreams/index.html.erb
|
241
273
|
- app/views/fcrepo_admin/datastreams/show.html.erb
|
242
274
|
- app/views/fcrepo_admin/objects/_more_info.html.erb
|
@@ -250,6 +282,7 @@ files:
|
|
250
282
|
- lib/assets/stylesheets/fcrepo_admin/fcrepo_admin.css
|
251
283
|
- lib/fcrepo_admin.rb
|
252
284
|
- lib/fcrepo_admin/controller_behavior.rb
|
285
|
+
- lib/fcrepo_admin/datastream_ability.rb
|
253
286
|
- lib/fcrepo_admin/engine.rb
|
254
287
|
- lib/fcrepo_admin/solr_document_extension.rb
|
255
288
|
- lib/fcrepo_admin/version.rb
|
@@ -262,6 +295,7 @@ files:
|
|
262
295
|
- spec/factories/user_factories.rb
|
263
296
|
- spec/features/audit_trail/index.html.erb_spec.rb
|
264
297
|
- spec/features/catalog/show.html.erb_spec.rb
|
298
|
+
- spec/features/datastreams/edit.html.erb_spec.rb
|
265
299
|
- spec/features/datastreams/show.html.erb_spec.rb
|
266
300
|
- spec/features/objects/show.html.erb_spec.rb
|
267
301
|
- spec/fixtures/auditable.foxml.xml
|
@@ -312,30 +346,35 @@ files:
|
|
312
346
|
- spec/internal/public/500.html
|
313
347
|
- spec/internal/public/favicon.ico
|
314
348
|
- spec/internal/script/rails
|
349
|
+
- spec/internal/spec/fixtures/files/descMetadata.xml
|
315
350
|
- spec/spec_helper.rb
|
316
351
|
homepage: http://projecthydra.org
|
317
352
|
licenses:
|
318
353
|
- BSD Simplified
|
319
|
-
metadata: {}
|
320
354
|
post_install_message:
|
321
355
|
rdoc_options: []
|
322
356
|
require_paths:
|
323
357
|
- lib
|
324
358
|
required_ruby_version: !ruby/object:Gem::Requirement
|
359
|
+
none: false
|
325
360
|
requirements:
|
326
361
|
- - ! '>='
|
327
362
|
- !ruby/object:Gem::Version
|
328
363
|
version: 1.9.3
|
329
364
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
365
|
+
none: false
|
330
366
|
requirements:
|
331
367
|
- - ! '>='
|
332
368
|
- !ruby/object:Gem::Version
|
333
369
|
version: '0'
|
370
|
+
segments:
|
371
|
+
- 0
|
372
|
+
hash: -3734139466657518267
|
334
373
|
requirements: []
|
335
374
|
rubyforge_project:
|
336
|
-
rubygems_version:
|
375
|
+
rubygems_version: 1.8.25
|
337
376
|
signing_key:
|
338
|
-
specification_version:
|
377
|
+
specification_version: 3
|
339
378
|
summary: Hydra-based Fedora Commons repository admin tool.
|
340
379
|
test_files:
|
341
380
|
- spec/controllers/audit_trail_controller_spec.rb
|
@@ -344,6 +383,7 @@ test_files:
|
|
344
383
|
- spec/factories/user_factories.rb
|
345
384
|
- spec/features/audit_trail/index.html.erb_spec.rb
|
346
385
|
- spec/features/catalog/show.html.erb_spec.rb
|
386
|
+
- spec/features/datastreams/edit.html.erb_spec.rb
|
347
387
|
- spec/features/datastreams/show.html.erb_spec.rb
|
348
388
|
- spec/features/objects/show.html.erb_spec.rb
|
349
389
|
- spec/fixtures/auditable.foxml.xml
|
@@ -394,4 +434,5 @@ test_files:
|
|
394
434
|
- spec/internal/public/500.html
|
395
435
|
- spec/internal/public/favicon.ico
|
396
436
|
- spec/internal/script/rails
|
437
|
+
- spec/internal/spec/fixtures/files/descMetadata.xml
|
397
438
|
- spec/spec_helper.rb
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
NGU5YjVmYjc4ZGQ5NDJhZTM1ZTM0MDYyZmU4NzAwMDQ2YWViMjg3Mw==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MGE2ZTE3N2VhZmI3ZTBkOTc1ZjQzNGVkZWI0YzdjYjY0MTM3NjVjOA==
|
7
|
-
!binary "U0hBNTEy":
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
NTg5MDI1YTAzZDIxYTZlZGM1YjM4Yjg2NWJjYjZiM2I5ZmI0ZDQ0ZTllMGUw
|
10
|
-
YzM4ZTJlNDRjMDA2YTIwMjExZTIyZWEyMzIzMDk0NjU2ZmQ2MjkzMzkxMTc5
|
11
|
-
YzVhNWRmMmJmODgwYzI5N2I1Zjg4YWU2ZGNhN2UxM2IzNWE1Y2M=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
OGEyMWZlNzliZTY2NTczMWI1NTgwYjc0ZGQxZmJiMDU2Yzc0ZWJmYWExMTFk
|
14
|
-
YTBlYWE4Yjc3YjQ0YzBmNjI0Zjg5OWE1ZDdlZDlhOGVhZjUzOGEyMDRiZjJi
|
15
|
-
MDRhOWEzYTkzZDA2Y2Q1OWYxMjA3OTVmNWM5YjlhZWRmYzRmY2E=
|