tessa 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/tessa/asset.rb +6 -1
- data/lib/tessa/version.rb +1 -1
- data/spec/tessa/asset_spec.rb +31 -5
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac462c5f0a7aa2daace117558422af800c250103
|
4
|
+
data.tar.gz: 62f7cccb50d516daa41af3be26cc4b8ad21e1f1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c4160d6068721988ed852f6402562c770f851c72cec0db7abbef3422e3bcf053772b77a472b6e657ca9dd8f81217ac0c4139ba9c7976e4a5fb807d638fc06ce
|
7
|
+
data.tar.gz: e0bc84f6c3941eb8ca00f80a2f54c08bf22473e29a26dfc6663790b8bc8b21d597851f38690c2308c3525df3bb98cf554e72b68edcadd156a4439158377b4f3a
|
data/lib/tessa/asset.rb
CHANGED
@@ -30,7 +30,12 @@ module Tessa
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def self.create(file:, **options)
|
33
|
-
|
33
|
+
default_options = {
|
34
|
+
size: File.size(file),
|
35
|
+
name: File.basename(file),
|
36
|
+
date: File.mtime(file),
|
37
|
+
}
|
38
|
+
Upload.create(default_options.merge(options)).upload_file(file)
|
34
39
|
end
|
35
40
|
|
36
41
|
def failure?
|
data/lib/tessa/version.rb
CHANGED
data/spec/tessa/asset_spec.rb
CHANGED
@@ -153,18 +153,44 @@ RSpec.describe Tessa::Asset do
|
|
153
153
|
|
154
154
|
it "requires a file param" do
|
155
155
|
expect { described_class.create }.to raise_error(ArgumentError)
|
156
|
-
expect { described_class.create(file:
|
156
|
+
expect { described_class.create(file: __FILE__) }.to_not raise_error
|
157
157
|
end
|
158
158
|
|
159
159
|
it "creates a new upload" do
|
160
|
-
expect(Tessa::Upload)
|
161
|
-
|
160
|
+
expect(Tessa::Upload)
|
161
|
+
.to receive(:create).with(hash_including(foo: :bar, baz: :boom)).and_return(upload)
|
162
|
+
described_class.create(file: __FILE__, foo: :bar, baz: :boom)
|
162
163
|
end
|
163
164
|
|
164
165
|
it "uploads the passed file to the upload's URL" do
|
165
166
|
expect(Tessa::Upload).to receive(:create).and_return(upload)
|
166
|
-
expect(upload).to receive(:upload_file).with(
|
167
|
-
described_class.create(file:
|
167
|
+
expect(upload).to receive(:upload_file).with(__FILE__)
|
168
|
+
described_class.create(file: __FILE__)
|
169
|
+
end
|
170
|
+
|
171
|
+
it "infers the file size, name, and date" do
|
172
|
+
file = Tempfile.new("test")
|
173
|
+
file.write "abc"
|
174
|
+
file.close
|
175
|
+
expected_values = {
|
176
|
+
size: 3,
|
177
|
+
name: File.basename(file.path),
|
178
|
+
date: File.mtime(file.path),
|
179
|
+
}
|
180
|
+
expect(Tessa::Upload)
|
181
|
+
.to receive(:create).with(hash_including(expected_values)).and_return(upload)
|
182
|
+
described_class.create(file: file.path)
|
183
|
+
end
|
184
|
+
|
185
|
+
it "allows overriding inferred values" do
|
186
|
+
expected_values = {
|
187
|
+
size: 1,
|
188
|
+
name: "my-file",
|
189
|
+
date: "123",
|
190
|
+
}
|
191
|
+
expect(Tessa::Upload)
|
192
|
+
.to receive(:create).with(hash_including(expected_values)).and_return(upload)
|
193
|
+
described_class.create(file: __FILE__, **expected_values)
|
168
194
|
end
|
169
195
|
end
|
170
196
|
end
|