assembly-objectfile 1.8.4 → 1.10.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -25,6 +25,8 @@ describe Assembly::ObjectFile do
25
25
  expect(@ai.exif).not_to be nil
26
26
  expect(@ai.mimetype).to eq('image/tiff')
27
27
  expect(@ai.file_mimetype).to eq('image/tiff')
28
+ expect(@ai.extension_mimetype).to eq('image/tiff')
29
+ expect(@ai.exif_mimetype).to eq('image/tiff')
28
30
  expect(@ai.object_type).to eq(:image)
29
31
  expect(@ai.valid_image?).to eq(true)
30
32
  expect(@ai.jp2able?).to eq(true)
@@ -53,11 +55,28 @@ describe Assembly::ObjectFile do
53
55
  expect(@ai.mimetype).to eq('text/plain')
54
56
  end
55
57
 
58
+ it 'sets a mimetype of application/x-tgif for .obj 3d files if we prefer the mimetype extension gem over unix file system command' do
59
+ @ai = described_class.new(TEST_OBJ_FILE, mime_type_order: %i[extension file exif])
60
+ expect(@ai.mimetype).to eq('application/x-tgif')
61
+ end
62
+
63
+ it 'ignores invald mimetype generation methods and still sets a mimetype of application/x-tgif for .obj 3d files if we prefer the mimetype extension gem over unix file system command' do
64
+ @ai = described_class.new(TEST_OBJ_FILE, mime_type_order: %i[bogus extension file])
65
+ expect(@ai.mimetype).to eq('application/x-tgif')
66
+ end
67
+
56
68
  it 'sets the correct mimetype of plain/text for .ply 3d files' do
57
69
  @ai = described_class.new(TEST_PLY_FILE)
58
70
  expect(@ai.mimetype).to eq('text/plain')
59
71
  end
60
72
 
73
+ it 'overrides the mimetype generators and uses the manual mapping to set the correct mimetype of application/json for a .json file' do
74
+ @ai = described_class.new(TEST_JSON_FILE)
75
+ expect(@ai.exif_mimetype).to be_nil # exif returns nil
76
+ expect(@ai.file_mimetype).to eq('text/plain') # unix file system command returns plain text
77
+ expect(@ai.mimetype).to eq('application/json') # but our configured mapping overrides both and returns application/json
78
+ end
79
+
61
80
  it 'sets the correct mimetype of image/tiff for .tif files' do
62
81
  @ai = described_class.new(TEST_TIF_INPUT_FILE)
63
82
  expect(@ai.mimetype).to eq('image/tiff')
data/spec/spec_helper.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  require 'simplecov'
4
4
  SimpleCov.start
5
5
 
6
- bootfile = File.expand_path(File.dirname(__FILE__) + '/../config/boot')
6
+ bootfile = File.expand_path("#{File.dirname(__FILE__)}/../config/boot")
7
7
  require bootfile
8
8
 
9
9
  RSpec.configure do |config|
@@ -54,6 +54,8 @@ TEST_RES3_TEI = File.join(TEST_INPUT_DIR, 'res3_teifile.txt')
54
54
 
55
55
  TEST_FILE_NO_EXIF = File.join(TEST_INPUT_DIR, 'file_with_no_exif.xml')
56
56
 
57
+ TEST_JSON_FILE = File.join(TEST_INPUT_DIR, 'test.json')
58
+
57
59
  TEST_OBJ_FILE = File.join(TEST_INPUT_DIR, 'someobject.obj')
58
60
  TEST_PLY_FILE = File.join(TEST_INPUT_DIR, 'someobject.ply')
59
61
 
@@ -0,0 +1 @@
1
+ {some: 'thing'}
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: assembly-objectfile
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.4
4
+ version: 1.10.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Mangiafico
8
8
  - Renzo Sanchez-Silva
9
9
  - Monty Hindman
10
10
  - Tony Calavano
11
- autorequire:
11
+ autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2020-01-21 00:00:00.000000000 Z
14
+ date: 2021-04-26 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activesupport
@@ -27,6 +27,20 @@ dependencies:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  version: 5.2.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: deprecation
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
30
44
  - !ruby/object:Gem::Dependency
31
45
  name: dry-struct
32
46
  requirement: !ruby/object:Gem::Requirement
@@ -171,16 +185,16 @@ dependencies:
171
185
  name: simplecov
172
186
  requirement: !ruby/object:Gem::Requirement
173
187
  requirements:
174
- - - ">="
188
+ - - "~>"
175
189
  - !ruby/object:Gem::Version
176
- version: '0'
190
+ version: 0.17.0
177
191
  type: :development
178
192
  prerelease: false
179
193
  version_requirements: !ruby/object:Gem::Requirement
180
194
  requirements:
181
- - - ">="
195
+ - - "~>"
182
196
  - !ruby/object:Gem::Version
183
- version: '0'
197
+ version: 0.17.0
184
198
  description: Get exif data, file sizes and more.
185
199
  email:
186
200
  - pmangiafico@stanford.edu
@@ -249,6 +263,7 @@ files:
249
263
  - spec/test_data/input/someobject.obj
250
264
  - spec/test_data/input/someobject.ply
251
265
  - spec/test_data/input/test.jp2
266
+ - spec/test_data/input/test.json
252
267
  - spec/test_data/input/test.pdf
253
268
  - spec/test_data/input/test.tif
254
269
  - spec/test_data/input/test2.jp2
@@ -258,23 +273,23 @@ homepage: https://github.com/sul-dlss/assembly-objectfile
258
273
  licenses:
259
274
  - ALv2
260
275
  metadata: {}
261
- post_install_message:
276
+ post_install_message:
262
277
  rdoc_options: []
263
278
  require_paths:
264
279
  - lib
265
280
  required_ruby_version: !ruby/object:Gem::Requirement
266
281
  requirements:
267
- - - ">="
282
+ - - "~>"
268
283
  - !ruby/object:Gem::Version
269
- version: '0'
284
+ version: '2.5'
270
285
  required_rubygems_version: !ruby/object:Gem::Requirement
271
286
  requirements:
272
287
  - - ">="
273
288
  - !ruby/object:Gem::Version
274
289
  version: '0'
275
290
  requirements: []
276
- rubygems_version: 3.1.2
277
- signing_key:
291
+ rubygems_version: 3.2.16
292
+ signing_key:
278
293
  specification_version: 4
279
294
  summary: Ruby immplementation of file services needed to prepare objects to be accessioned
280
295
  in SULAIR digital library
@@ -312,6 +327,7 @@ test_files:
312
327
  - spec/test_data/input/someobject.obj
313
328
  - spec/test_data/input/someobject.ply
314
329
  - spec/test_data/input/test.jp2
330
+ - spec/test_data/input/test.json
315
331
  - spec/test_data/input/test.pdf
316
332
  - spec/test_data/input/test.tif
317
333
  - spec/test_data/input/test2.jp2