tessa 0.8.0 → 0.9.0
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/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
|