paperclip-phantom_svg 0.0.2 → 0.0.3
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/paperclip_processors/phantom_processor.rb +10 -10
- data/paperclip-phantom_svg.gemspec +4 -5
- data/spec/paperclip-phantom_svg_spec.rb +31 -4
- metadata +8 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 11b6ff07a800f3e087db6fdaa382bf963af8560b
|
4
|
+
data.tar.gz: f981a80c4846d2d3a38fad42d94042cf6a297b1d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86e8f206b5fb1c4d3b3cd7de9fa93ce92208b25977bdce08c1eedc7ae437e17e4967870cdbd6419b36037cdd97efadb3f80d186f64e6968980f0ed79a86b3f99
|
7
|
+
data.tar.gz: 67581f3e54e163b517c4271d04b26bbd18039cf920c5215f1997dc81032289c2835b138fb366a1cdc37adef81ec3434769961bd323625da3a0dab63eb78f3b62
|
@@ -4,7 +4,7 @@ require 'paperclip'
|
|
4
4
|
module Paperclip
|
5
5
|
# Phantom SVG processor for Paperclip
|
6
6
|
class PhantomProcessor < Processor
|
7
|
-
attr_accessor :format, :height, :width, :dst
|
7
|
+
attr_accessor :format, :height, :width, :dst, :file
|
8
8
|
def initialize(file, options = {}, attachment = nil)
|
9
9
|
super
|
10
10
|
@format = options.fetch(:format, :svg)
|
@@ -28,20 +28,20 @@ module Paperclip
|
|
28
28
|
private
|
29
29
|
|
30
30
|
def _create_svg
|
31
|
-
@dst = Tempfile.new([@output_name, '.svg']).tap do |
|
31
|
+
@dst = Tempfile.new([@output_name, '.svg']).tap do |dst|
|
32
32
|
Paperclip.log "[PhantomSVG] Creating SVG #{@output_name}" if @whiny
|
33
|
-
@svg.height =
|
34
|
-
@svg.width =
|
35
|
-
@svg.save_svg(
|
33
|
+
@svg.height = height
|
34
|
+
@svg.width = width
|
35
|
+
@svg.save_svg(dst.path)
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
39
|
def _create_png
|
40
|
-
@dst = Tempfile.new([@output_name, '.png']).tap do |
|
41
|
-
Paperclip.log "[PhantomSVG] Creating
|
42
|
-
@svg.height =
|
43
|
-
@svg.width =
|
44
|
-
@svg.save_apng(
|
40
|
+
@dst = Tempfile.new([@output_name, '.png']).tap do |dst|
|
41
|
+
Paperclip.log "[PhantomSVG] Creating PNG #{@output_name} @ #{@height}x#{@width}" if @whiny
|
42
|
+
@svg.height = height
|
43
|
+
@svg.width = width
|
44
|
+
@svg.save_apng(dst.path)
|
45
45
|
end
|
46
46
|
end
|
47
47
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.platform = Gem::Platform::RUBY
|
3
3
|
s.name = 'paperclip-phantom_svg'
|
4
|
-
s.version = '0.0.
|
5
|
-
s.license = 'LGPL-3
|
4
|
+
s.version = '0.0.3'
|
5
|
+
s.license = 'LGPL-3'
|
6
6
|
s.summary = 'SVG and Raster (primarily PNG) conerters for Paperclip' \
|
7
7
|
' that don\'t suck so much.'
|
8
8
|
s.description = 'Hight end SVG conversion suite for Paperclip. ' \
|
@@ -17,10 +17,9 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.test_files = s.files.grep(/^spec\//)
|
18
18
|
s.require_paths = ['lib']
|
19
19
|
|
20
|
-
s.add_dependency 'paperclip'
|
21
|
-
s.add_dependency 'phantom_svg'
|
20
|
+
s.add_dependency 'paperclip', '~> 4.2'
|
21
|
+
s.add_dependency 'phantom_svg' '~> 1.1'
|
22
22
|
|
23
|
-
s.add_development_dependency 'bundler'
|
24
23
|
s.add_development_dependency 'rspec'
|
25
24
|
s.add_development_dependency 'activerecord'
|
26
25
|
s.add_development_dependency 'sqlite3'
|
@@ -3,6 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Paperclip::PhantomProcessor do
|
4
4
|
before(:all) do
|
5
5
|
clear_tmp
|
6
|
+
FileUtils::mkdir_p 'tmp/'
|
6
7
|
end
|
7
8
|
|
8
9
|
let(:svg_source) { File.new(fixture_file('compiled.svg')) }
|
@@ -30,6 +31,7 @@ describe Paperclip::PhantomProcessor do
|
|
30
31
|
processor = Paperclip::PhantomProcessor.new(svg_source, test_options_svg)
|
31
32
|
expect(processor.make).to be_an_instance_of(Paperclip::Tempfile)
|
32
33
|
expect(File).to exist(processor.dst.path)
|
34
|
+
FileUtils.copy(processor.dst.path, 'tmp/')
|
33
35
|
end
|
34
36
|
end
|
35
37
|
|
@@ -38,40 +40,65 @@ describe Paperclip::PhantomProcessor do
|
|
38
40
|
processor = Paperclip::PhantomProcessor.new(svg_source, test_options_png)
|
39
41
|
expect(processor.make).to be_an_instance_of(Paperclip::Tempfile)
|
40
42
|
expect(File).to exist(processor.dst.path)
|
43
|
+
FileUtils.copy(processor.dst.path, 'tmp/')
|
41
44
|
end
|
42
45
|
end
|
43
46
|
|
44
47
|
describe '.make({format: :png, height: 64})' do
|
45
|
-
it 'saves a PNG from an SVG' do
|
48
|
+
it 'saves a PNG with height only specefied from an SVG' do
|
46
49
|
processor = Paperclip::PhantomProcessor.new(svg_source, test_options_png_h)
|
47
50
|
expect(processor.make).to be_an_instance_of(Paperclip::Tempfile)
|
48
51
|
expect(File).to exist(processor.dst.path)
|
52
|
+
FileUtils.copy(processor.dst.path, 'tmp/')
|
49
53
|
end
|
50
54
|
end
|
51
55
|
end
|
52
56
|
|
53
57
|
context 'with an animated PNG source' do
|
54
58
|
describe '.make({format: :svg})' do
|
55
|
-
it 'saves an SVG from
|
59
|
+
it 'saves an SVG from a PNG' do
|
56
60
|
processor = Paperclip::PhantomProcessor.new(png_source, test_options_svg)
|
57
61
|
expect(processor.make).to be_an_instance_of(Paperclip::Tempfile)
|
58
62
|
expect(File).to exist(processor.dst.path)
|
63
|
+
FileUtils.copy(processor.dst.path, 'tmp/')
|
59
64
|
end
|
60
65
|
end
|
61
66
|
|
62
67
|
describe '.make({format: :png, height: 128, width: 128})' do
|
63
|
-
it 'saves a PNG from an
|
68
|
+
it 'saves a PNG from an PNG' do
|
64
69
|
processor = Paperclip::PhantomProcessor.new(png_source, test_options_png)
|
65
70
|
expect(processor.make).to be_an_instance_of(Paperclip::Tempfile)
|
66
71
|
expect(File).to exist(processor.dst.path)
|
72
|
+
FileUtils.copy(processor.dst.path, 'tmp/')
|
67
73
|
end
|
68
74
|
end
|
69
75
|
|
70
76
|
describe '.make({format: :png, height: 64})' do
|
71
|
-
it 'saves a PNG from
|
77
|
+
it 'saves a PNG with only height specified from a PNG' do
|
72
78
|
processor = Paperclip::PhantomProcessor.new(png_source, test_options_png_h)
|
73
79
|
expect(processor.make).to be_an_instance_of(Paperclip::Tempfile)
|
74
80
|
expect(File).to exist(processor.dst.path)
|
81
|
+
FileUtils.copy(processor.dst.path, 'tmp/')
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
describe '.make({format: :png, height: 12, width: 12})' do
|
86
|
+
it 'saves a small PNG from a PNG' do
|
87
|
+
processor = Paperclip::PhantomProcessor.new(png_source,
|
88
|
+
{ format: :png, height: 12, width: 12 })
|
89
|
+
expect(processor.make).to be_an_instance_of(Paperclip::Tempfile)
|
90
|
+
expect(File).to exist(processor.dst.path)
|
91
|
+
FileUtils.copy(processor.dst.path, 'tmp/')
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
describe '.make({format: :svg, height: 12, width: 12})' do
|
96
|
+
it 'saves a small SVG from a PNG' do
|
97
|
+
processor = Paperclip::PhantomProcessor.new(png_source,
|
98
|
+
{ format: :svg, height: 12, width: 12 })
|
99
|
+
expect(processor.make).to be_an_instance_of(Paperclip::Tempfile)
|
100
|
+
expect(File).to exist(processor.dst.path)
|
101
|
+
FileUtils.copy(processor.dst.path, 'tmp/')
|
75
102
|
end
|
76
103
|
end
|
77
104
|
end
|
metadata
CHANGED
@@ -1,31 +1,31 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paperclip-phantom_svg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rei Kagetsuki
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09
|
11
|
+
date: 2014-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: paperclip
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '4.2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '4.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name: phantom_svg
|
28
|
+
name: phantom_svg~> 1.1
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -38,20 +38,6 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: bundler
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: rspec
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -118,7 +104,7 @@ files:
|
|
118
104
|
- spec/spec_helper.rb
|
119
105
|
homepage: http://github.com/Genshin/phantom_svg-paperclip-processor
|
120
106
|
licenses:
|
121
|
-
- LGPL-3
|
107
|
+
- LGPL-3
|
122
108
|
metadata: {}
|
123
109
|
post_install_message:
|
124
110
|
rdoc_options: []
|
@@ -146,4 +132,3 @@ test_files:
|
|
146
132
|
- spec/fixtures/compiled.svg
|
147
133
|
- spec/paperclip-phantom_svg_spec.rb
|
148
134
|
- spec/spec_helper.rb
|
149
|
-
has_rdoc:
|