active-fedora 11.3.0 → 11.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 28c6a10d30587f9ac67d5608f825e55c1ae8e6ec
4
- data.tar.gz: 5332ef7ee96bb3d42e3a979aa4c36adb3c619307
3
+ metadata.gz: a51429cf9f08cc4aa710a9fc0d380d6111dda29a
4
+ data.tar.gz: 87d9e18ee4cf39390b51ea9c38b4a1c61cf74e4d
5
5
  SHA512:
6
- metadata.gz: 5eda47b76299b6a282e53b9a3f7f65bc68e8f0a3b2ca546a8e486d5f75545ce7f900579ade9039e8829b2cf1cf13f8115b811fd9aa2fb1f70795621058d7f864
7
- data.tar.gz: f2e444ff21e35d1dc896f14eacb72449e2f71a35f2d2336fffb7de4ef6501800d6e6d156f3f1d95d4733fe7397042e1fedd2fc01a552b8022debd1147d317926
6
+ metadata.gz: 244c96fe18c9e450eb87037c154f160c851ef4c294b1fcc4f929dffab591e811ffc885dd590b84e2e43d76014b7af02f07c01b42f50a321cf99c4bae69d0aed2
7
+ data.tar.gz: 351d9b679c249a799a39e36b47dfb94a09d2a321ea0dd3b08e13eeaccfc5c966c89e257acd1bd471bfc13ebbd5faf55c1be93d36cead40cdbbab9de2e48a5ea0
@@ -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"
@@ -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
- connection = Faraday.new(host, options)
87
- connection.basic_auth(user, password)
88
- connection
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
@@ -1,3 +1,3 @@
1
1
  module ActiveFedora
2
- VERSION = "11.3.0".freeze
2
+ VERSION = "11.3.1".freeze
3
3
  end
@@ -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.tap { |ds| ds.content = content } }
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.0
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 00:00:00.000000000 Z
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