active-fedora 11.3.0 → 11.3.1
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.
- checksums.yaml +4 -4
- data/active-fedora.gemspec +2 -0
- data/lib/active_fedora/fedora.rb +8 -3
- data/lib/active_fedora/version.rb +1 -1
- data/spec/integration/file_spec.rb +39 -6
- metadata +30 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a51429cf9f08cc4aa710a9fc0d380d6111dda29a
|
4
|
+
data.tar.gz: 87d9e18ee4cf39390b51ea9c38b4a1c61cf74e4d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 244c96fe18c9e450eb87037c154f160c851ef4c294b1fcc4f929dffab591e811ffc885dd590b84e2e43d76014b7af02f07c01b42f50a321cf99c4bae69d0aed2
|
7
|
+
data.tar.gz: 351d9b679c249a799a39e36b47dfb94a09d2a321ea0dd3b08e13eeaccfc5c966c89e257acd1bd471bfc13ebbd5faf55c1be93d36cead40cdbbab9de2e48a5ea0
|
data/active-fedora.gemspec
CHANGED
@@ -22,6 +22,8 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_dependency "deprecation"
|
23
23
|
s.add_dependency "ldp", '~> 0.7.0'
|
24
24
|
s.add_dependency "ruby-progressbar", '~> 1.0'
|
25
|
+
s.add_dependency 'faraday', '~> 0.12.1'
|
26
|
+
s.add_dependency 'faraday-encoding', '0.0.4'
|
25
27
|
|
26
28
|
s.add_development_dependency "rails"
|
27
29
|
s.add_development_dependency "rdoc"
|
data/lib/active_fedora/fedora.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'faraday'
|
2
|
+
require 'faraday-encoding'
|
3
|
+
|
1
4
|
module ActiveFedora
|
2
5
|
class Fedora
|
3
6
|
class << self
|
@@ -83,9 +86,11 @@ module ActiveFedora
|
|
83
86
|
def authorized_connection
|
84
87
|
options = {}
|
85
88
|
options[:ssl] = ssl_options if ssl_options
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
+
Faraday.new(host, options) do |conn|
|
90
|
+
conn.response :encoding # use Faraday::Encoding middleware
|
91
|
+
conn.adapter Faraday.default_adapter # net/http
|
92
|
+
conn.basic_auth(user, password)
|
93
|
+
end
|
89
94
|
end
|
90
95
|
|
91
96
|
def validate_options
|
@@ -88,6 +88,44 @@ describe ActiveFedora::File do
|
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
91
|
+
describe "#content" do
|
92
|
+
let(:file) { described_class.new { |ds| ds.content = content } }
|
93
|
+
|
94
|
+
before do
|
95
|
+
file.save
|
96
|
+
end
|
97
|
+
|
98
|
+
describe "#content" do
|
99
|
+
subject(:resource) { described_class.new(file.uri).content }
|
100
|
+
|
101
|
+
before { content.rewind }
|
102
|
+
|
103
|
+
context "when encoding is not set" do
|
104
|
+
let(:content) { fixture('dino.jpg') }
|
105
|
+
|
106
|
+
it "is read from fedora" do
|
107
|
+
expect(resource).to eq content.read
|
108
|
+
expect(resource.encoding).to eq Encoding::ASCII_8BIT
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
context "when encoding is set" do
|
113
|
+
let(:file) do
|
114
|
+
described_class.new do |f|
|
115
|
+
f.content = content
|
116
|
+
f.mime_type = 'text/plain;charset=UTF-8'
|
117
|
+
end
|
118
|
+
end
|
119
|
+
let(:content) { StringIO.new "I'm a little teåpot" }
|
120
|
+
|
121
|
+
it "is read from fedora" do
|
122
|
+
expect(resource).to eq content.read
|
123
|
+
expect(resource.encoding).to eq Encoding::UTF_8
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
91
129
|
context "with a sub-resource" do
|
92
130
|
before do
|
93
131
|
class MockAFBase < ActiveFedora::Base
|
@@ -114,7 +152,7 @@ describe ActiveFedora::File do
|
|
114
152
|
context "a binary file" do
|
115
153
|
let(:path) { "ds#{Time.now.to_i}" }
|
116
154
|
let(:content) { fixture('dino.jpg') }
|
117
|
-
let(:file) { described_class.new
|
155
|
+
let(:file) { described_class.new { |ds| ds.content = content } }
|
118
156
|
|
119
157
|
before do
|
120
158
|
test_object.attach_file(file, path)
|
@@ -125,11 +163,6 @@ describe ActiveFedora::File do
|
|
125
163
|
expect(test_object.attached_files[path]).to_not be_content_changed
|
126
164
|
end
|
127
165
|
|
128
|
-
it "is able to read the content from fedora" do
|
129
|
-
content.rewind
|
130
|
-
expect(test_object.attached_files[path].content).to eq content.read
|
131
|
-
end
|
132
|
-
|
133
166
|
describe "streaming the response" do
|
134
167
|
let(:stream_reader) { instance_double(IO) }
|
135
168
|
it "streams the response" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active-fedora
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 11.3.
|
4
|
+
version: 11.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Zumwalt
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-06-
|
13
|
+
date: 2017-06-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rsolr
|
@@ -148,6 +148,34 @@ dependencies:
|
|
148
148
|
- - "~>"
|
149
149
|
- !ruby/object:Gem::Version
|
150
150
|
version: '1.0'
|
151
|
+
- !ruby/object:Gem::Dependency
|
152
|
+
name: faraday
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
154
|
+
requirements:
|
155
|
+
- - "~>"
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 0.12.1
|
158
|
+
type: :runtime
|
159
|
+
prerelease: false
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
161
|
+
requirements:
|
162
|
+
- - "~>"
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: 0.12.1
|
165
|
+
- !ruby/object:Gem::Dependency
|
166
|
+
name: faraday-encoding
|
167
|
+
requirement: !ruby/object:Gem::Requirement
|
168
|
+
requirements:
|
169
|
+
- - '='
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: 0.0.4
|
172
|
+
type: :runtime
|
173
|
+
prerelease: false
|
174
|
+
version_requirements: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - '='
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: 0.0.4
|
151
179
|
- !ruby/object:Gem::Dependency
|
152
180
|
name: rails
|
153
181
|
requirement: !ruby/object:Gem::Requirement
|