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 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