hydra-derivatives 3.1.4 → 3.2.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/.travis.yml +0 -1
- data/History.md +38 -0
- data/README.md +12 -0
- data/VERSION +1 -1
- data/lib/hydra/derivatives/processors/image.rb +7 -1
- data/spec/processors/image_spec.rb +28 -10
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9dc0683193a0c13d024d66551a3532a95cc107d5
|
|
4
|
+
data.tar.gz: f78c24977c2dfd89526c4f533fd9c2173b89f234
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: eb535231a681ff02ac2b001cea44b1808e7e5118eab1ba83ebd2762c3f8d56e47d9ec09d63d2a3d7771569dc45ae9439d5646adbe6e440878433f4f5b1470d62
|
|
7
|
+
data.tar.gz: 485d2b03e2ea10ea43dd9e2836f43bc0823f190a19a6d5763d86356b37a11724c6a8690b72a2791bede8a9cd96f64a631edb8bcfb787eb1232e5098046199ba0
|
data/.travis.yml
CHANGED
data/History.md
CHANGED
|
@@ -1,3 +1,41 @@
|
|
|
1
|
+
## 3.2.0 (2016-11-16)
|
|
2
|
+
2016-11-08: Directive option for layer [Adam Wead]
|
|
3
|
+
|
|
4
|
+
## 3.1.4 (2016-10-13)
|
|
5
|
+
2016-10-13: Convert documents to pdf and jpg, fixes #109 [Adam Wead]
|
|
6
|
+
|
|
7
|
+
2016-09-30: Flatten images when resizing, fixes #110 [Adam Wead]
|
|
8
|
+
|
|
9
|
+
2016-09-29: Adding Rubocop to manage our style [Adam Wead]
|
|
10
|
+
|
|
11
|
+
## 3.1.3 (2016-09-13)
|
|
12
|
+
2016-09-13: Loosen dependecy to allow active-fedora 11 [Justin Coyne]
|
|
13
|
+
|
|
14
|
+
## 3.1.2 (2016-08-09)
|
|
15
|
+
2016-07-28: Bumping version of Ruby to 2.2.5 for updated ActiveSupport [Esmé Cowles]
|
|
16
|
+
|
|
17
|
+
2016-07-11: Allow for Rails 5 [Trey Pendragon]
|
|
18
|
+
|
|
19
|
+
## 3.1.1 (2016-05-18)
|
|
20
|
+
2016-05-10: Use `Dir.tmpdir` to get a platform-specific tmp dir [Chris Beer]
|
|
21
|
+
|
|
22
|
+
## 3.1.0 (2016-05-10)
|
|
23
|
+
2016-05-10: Allow hydra-derivatives to work with active-fedora 10 [Justin Coyne]
|
|
24
|
+
|
|
25
|
+
2016-05-10: Update solr schema for Solr 6 compatibility [Chris Beer]
|
|
26
|
+
|
|
27
|
+
## 3.0.2 (2016-05-04)
|
|
28
|
+
2016-04-26: Update FITS version in README [Michael J. Giarlo]
|
|
29
|
+
|
|
30
|
+
## 3.0.1 (2016-03-24)
|
|
31
|
+
2016-03-24: Solr/Fedora Wrapper [Trey Pendragon]
|
|
32
|
+
|
|
33
|
+
2016-03-24: Allow for Mime-Types 3.0 [Trey Pendragon]
|
|
34
|
+
|
|
35
|
+
2015-10-21: Silence Kakadu messages. [Trey Terrell]
|
|
36
|
+
|
|
37
|
+
2015-10-20: Fix srgb_profile_path. [Trey Terrell]
|
|
38
|
+
|
|
1
39
|
## 3.0.0 (2015-10-07)
|
|
2
40
|
2015-10-07: Update to the containerized builds on travis [Justin Coyne]
|
|
3
41
|
|
data/README.md
CHANGED
|
@@ -83,6 +83,18 @@ Hydra::Derivatives::Video::Processor.config.mkv.codec = '-vcodec ffv1'
|
|
|
83
83
|
Hydra::Derivatives::Video::Processor.config.jpeg.codec = '-vcodec mjpeg'
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
+
### Additional Directives
|
|
87
|
+
|
|
88
|
+
#### Layers
|
|
89
|
+
|
|
90
|
+
When processing pdf files or images that may contain layers, you can select which layer you want
|
|
91
|
+
to use. This is especially useful with multipage pdf files, which are flattened to ensure the
|
|
92
|
+
background is correctly rendered. To choose the first layer or page for a pdf:
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
PdfDerivatives.create(filename, outputs: [{ label: :thumb, size: "100x100>", layer: 0 }]
|
|
96
|
+
```
|
|
97
|
+
|
|
86
98
|
# Installation
|
|
87
99
|
|
|
88
100
|
Just add `gem 'hydra-derivatives'` to your Gemfile.
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.2.0
|
|
@@ -28,7 +28,7 @@ module Hydra::Derivatives::Processors
|
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
def create_image
|
|
31
|
-
xfrm = load_image_transformer
|
|
31
|
+
xfrm = selected_layers(load_image_transformer)
|
|
32
32
|
yield(xfrm) if block_given?
|
|
33
33
|
xfrm.format(directives.fetch(:format))
|
|
34
34
|
xfrm.quality(quality.to_s) if quality
|
|
@@ -57,5 +57,11 @@ module Hydra::Derivatives::Processors
|
|
|
57
57
|
def quality
|
|
58
58
|
directives.fetch(:quality, nil)
|
|
59
59
|
end
|
|
60
|
+
|
|
61
|
+
def selected_layers(image)
|
|
62
|
+
layer_index = directives.fetch(:layer, false)
|
|
63
|
+
return image unless layer_index
|
|
64
|
+
image.layers[layer_index]
|
|
65
|
+
end
|
|
60
66
|
end
|
|
61
67
|
end
|
|
@@ -5,20 +5,38 @@ describe Hydra::Derivatives::Processors::Image do
|
|
|
5
5
|
subject { described_class.new(file_name, directives) }
|
|
6
6
|
|
|
7
7
|
context "when arguments are passed as a hash" do
|
|
8
|
-
let(:directives) { { label: :thumb, size: "200x300>", format: 'png', quality: 75 } }
|
|
9
8
|
let(:mock_transformer) { double("MockTransformer") }
|
|
9
|
+
let(:mock_layer) { double("MockLayer") }
|
|
10
10
|
|
|
11
|
-
before
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
before { allow(subject).to receive(:load_image_transformer).and_return(mock_transformer) }
|
|
12
|
+
|
|
13
|
+
context "using image directives" do
|
|
14
|
+
let(:directives) { { label: :thumb, size: "200x300>", format: 'png', quality: 75 } }
|
|
15
|
+
|
|
16
|
+
before { allow(subject).to receive(:write_image).with(mock_transformer) }
|
|
17
|
+
|
|
18
|
+
it "uses the specified size and name and quality" do
|
|
19
|
+
expect(mock_transformer).to receive(:flatten)
|
|
20
|
+
expect(mock_transformer).to receive(:resize).with("200x300>")
|
|
21
|
+
expect(mock_transformer).to receive(:format).with("png")
|
|
22
|
+
expect(mock_transformer).to receive(:quality).with("75")
|
|
23
|
+
subject.process
|
|
24
|
+
end
|
|
14
25
|
end
|
|
15
26
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
27
|
+
context "using pdf directives" do
|
|
28
|
+
let(:directives) { { label: :thumb, size: "200x300>", format: 'pdf', layer: 0, quality: 75 } }
|
|
29
|
+
|
|
30
|
+
before { allow(subject).to receive(:write_image).with(mock_layer) }
|
|
31
|
+
|
|
32
|
+
it "uses the specified size and name and quality" do
|
|
33
|
+
expect(mock_transformer).to receive(:layers).and_return([mock_layer])
|
|
34
|
+
expect(mock_layer).to receive(:flatten)
|
|
35
|
+
expect(mock_layer).to receive(:resize).with("200x300>")
|
|
36
|
+
expect(mock_layer).to receive(:format).with("pdf")
|
|
37
|
+
expect(mock_layer).to receive(:quality).with("75")
|
|
38
|
+
subject.process
|
|
39
|
+
end
|
|
22
40
|
end
|
|
23
41
|
end
|
|
24
42
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hydra-derivatives
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Justin Coyne
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-11-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|