sprite-factory 1.6.1 → 1.6.2
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/LICENSE +1 -1
- data/README.md +1 -1
- data/RELEASE_NOTES.md +6 -0
- data/lib/sprite_factory.rb +2 -1
- data/lib/sprite_factory/library/rmagick.rb +1 -1
- data/lib/sprite_factory/runner.rb +7 -2
- data/test/runner_test.rb +24 -0
- data/test/test_case.rb +2 -0
- 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: 097ca4bb60eba921f4f50b9aa01f4637f76aac8d
|
4
|
+
data.tar.gz: f4270a2b011d8abe87e92ad99146766aad37eee8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b23043b30ce92ee88cc2450fa88934ae7e26f2bc9e62ddc7f0bbf77fa9c6e5858816bacd55da3ff2e4d2d303c9f11548cfe8e99d0d89fe6eb093584248744f63
|
7
|
+
data.tar.gz: 4fb30bc756f357ace50ea35ec3a584c2e0b33daee1a5d5ab0d54901be2cdb9ba04490ee6d8840e93d05b2a8fd09f3d0073423e370b7192307007183d20bbc7cc
|
data/LICENSE
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c) 2011, 2012, 2013, 2014 Jake Gordon and contributors
|
1
|
+
Copyright (c) 2011, 2012, 2013, 2014, 2015, Jake Gordon and contributors
|
2
2
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
4
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
data/RELEASE_NOTES.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
January 17th 2015 - v1.6.2
|
2
|
+
--------------------------
|
3
|
+
|
4
|
+
* replace deprecated Magick::MaxRGB with Magick::QuantumRange (courtesy of @kenmicles)
|
5
|
+
* add option to override default directory separator (courtesy of @cotampanie)
|
6
|
+
|
1
7
|
August 8th 2014 - v1.6.1
|
2
8
|
------------------------
|
3
9
|
|
data/lib/sprite_factory.rb
CHANGED
@@ -2,7 +2,7 @@ module SpriteFactory
|
|
2
2
|
|
3
3
|
#----------------------------------------------------------------------------
|
4
4
|
|
5
|
-
VERSION = "1.6.
|
5
|
+
VERSION = "1.6.2"
|
6
6
|
SUMMARY = "Automatic CSS sprite generator"
|
7
7
|
DESCRIPTION = "Combines individual images from a directory into a single sprite image file and creates an appropriate CSS stylesheet"
|
8
8
|
LIB = File.dirname(__FILE__)
|
@@ -27,6 +27,7 @@ module SpriteFactory
|
|
27
27
|
attr_accessor :cssurl
|
28
28
|
attr_accessor :pngcrush
|
29
29
|
attr_accessor :nocomments
|
30
|
+
attr_accessor :directory_separator
|
30
31
|
end
|
31
32
|
|
32
33
|
#----------------------------------------------------------------------------
|
@@ -20,7 +20,7 @@ module SpriteFactory
|
|
20
20
|
|
21
21
|
def self.create(filename, images, width, height)
|
22
22
|
target = Magick::Image.new(width,height)
|
23
|
-
target.opacity = Magick::
|
23
|
+
target.opacity = Magick::QuantumRange
|
24
24
|
images.each do |image|
|
25
25
|
target.composite!(image[:image], image[:x], image[:y], Magick::SrcOverCompositeOp)
|
26
26
|
end
|
@@ -24,12 +24,12 @@ module SpriteFactory
|
|
24
24
|
@config[:report] ||= SpriteFactory.report
|
25
25
|
@config[:pngcrush] ||= SpriteFactory.pngcrush
|
26
26
|
@config[:nocomments] ||= SpriteFactory.nocomments
|
27
|
+
@config[:directory_separator] ||= SpriteFactory.directory_separator || '_'
|
27
28
|
end
|
28
29
|
|
29
30
|
#----------------------------------------------------------------------------
|
30
31
|
|
31
32
|
def run!(&block)
|
32
|
-
|
33
33
|
raise RuntimeError, "unknown layout #{layout_name}" if !Layout.respond_to?(layout_name)
|
34
34
|
raise RuntimeError, "unknown style #{style_name}" if !Style.respond_to?(style_name)
|
35
35
|
raise RuntimeError, "unknown library #{library_name}" if !Library.respond_to?(library_name)
|
@@ -139,6 +139,10 @@ module SpriteFactory
|
|
139
139
|
config[:nocomments] # set true if you dont want any comments in the output style file
|
140
140
|
end
|
141
141
|
|
142
|
+
def directory_separator
|
143
|
+
config[:directory_separator]
|
144
|
+
end
|
145
|
+
|
142
146
|
def custom_style_file
|
143
147
|
File.join(input, File.basename(input) + ".#{style_name}")
|
144
148
|
end
|
@@ -174,6 +178,7 @@ module SpriteFactory
|
|
174
178
|
|
175
179
|
def load_images
|
176
180
|
input_path = Pathname.new(input)
|
181
|
+
|
177
182
|
images = library.load(image_files)
|
178
183
|
images.each do |i|
|
179
184
|
i[:name], i[:ext] = map_image_filename(i[:filename], input_path)
|
@@ -184,7 +189,7 @@ module SpriteFactory
|
|
184
189
|
end
|
185
190
|
|
186
191
|
def map_image_filename(filename, input_path)
|
187
|
-
name = Pathname.new(filename).relative_path_from(input_path).to_s.gsub(File::SEPARATOR,
|
192
|
+
name = Pathname.new(filename).relative_path_from(input_path).to_s.gsub(File::SEPARATOR, directory_separator)
|
188
193
|
name = name.gsub('--', ':')
|
189
194
|
name = name.gsub('__', ' ')
|
190
195
|
ext = File.extname(name)
|
data/test/runner_test.rb
CHANGED
@@ -18,6 +18,7 @@ module SpriteFactory
|
|
18
18
|
assert_equal(:horizontal, r.layout_name)
|
19
19
|
assert_equal(:css, r.style_name)
|
20
20
|
assert_equal(:rmagick, r.library_name)
|
21
|
+
assert_equal(DIRECTORY_SEPARATOR, r.directory_separator)
|
21
22
|
|
22
23
|
r = Runner.new(IRREGULAR_PATH)
|
23
24
|
assert_equal(IRREGULAR_PATH, r.input)
|
@@ -28,6 +29,18 @@ module SpriteFactory
|
|
28
29
|
assert_equal(:horizontal, r.layout_name)
|
29
30
|
assert_equal(:css, r.style_name)
|
30
31
|
assert_equal(:rmagick, r.library_name)
|
32
|
+
assert_equal(DIRECTORY_SEPARATOR, r.directory_separator)
|
33
|
+
|
34
|
+
r = Runner.new(IRREGULAR_PATH, :directory_separator => '.')
|
35
|
+
assert_equal(IRREGULAR_PATH, r.input)
|
36
|
+
assert_equal(IRREGULAR_PATH, r.output)
|
37
|
+
assert_equal(IRREGULAR_PATH + ".png", r.output_image_file)
|
38
|
+
assert_equal(IRREGULAR_PATH + ".css", r.output_style_file)
|
39
|
+
assert_equal(IRREGULAR, r.image_files)
|
40
|
+
assert_equal(:horizontal, r.layout_name)
|
41
|
+
assert_equal(:css, r.style_name)
|
42
|
+
assert_equal(:rmagick, r.library_name)
|
43
|
+
assert_equal('.', r.directory_separator)
|
31
44
|
|
32
45
|
r = Runner.new(REGULAR_PATH, :output => IRREGULAR_PATH)
|
33
46
|
assert_equal(REGULAR_PATH, r.input)
|
@@ -38,6 +51,7 @@ module SpriteFactory
|
|
38
51
|
assert_equal(:horizontal, r.layout_name)
|
39
52
|
assert_equal(:css, r.style_name)
|
40
53
|
assert_equal(:rmagick, r.library_name)
|
54
|
+
assert_equal(DIRECTORY_SEPARATOR, r.directory_separator)
|
41
55
|
|
42
56
|
r = Runner.new(REGULAR_PATH, :output_image => "foo.png", :output_style => "bar.css.sass.erb")
|
43
57
|
assert_equal(REGULAR_PATH, r.input)
|
@@ -48,6 +62,7 @@ module SpriteFactory
|
|
48
62
|
assert_equal(:horizontal, r.layout_name)
|
49
63
|
assert_equal(:css, r.style_name)
|
50
64
|
assert_equal(:rmagick, r.library_name)
|
65
|
+
assert_equal(DIRECTORY_SEPARATOR, r.directory_separator)
|
51
66
|
|
52
67
|
r = Runner.new(REGULAR_PATH, :layout => :vertical, :library => :chunkypng, :style => :sass)
|
53
68
|
assert_equal(REGULAR_PATH, r.input)
|
@@ -58,6 +73,7 @@ module SpriteFactory
|
|
58
73
|
assert_equal(:vertical, r.layout_name)
|
59
74
|
assert_equal(:sass, r.style_name)
|
60
75
|
assert_equal(:chunkypng, r.library_name)
|
76
|
+
assert_equal(DIRECTORY_SEPARATOR, r.directory_separator)
|
61
77
|
|
62
78
|
end
|
63
79
|
|
@@ -223,6 +239,14 @@ module SpriteFactory
|
|
223
239
|
end
|
224
240
|
end
|
225
241
|
|
242
|
+
def test_use_specified_directory_separator
|
243
|
+
Runner.publicize_methods do
|
244
|
+
expected = %w(england.amy england.bob france.bob usa.amy usa.bob)
|
245
|
+
actual = Runner.new(SUBFOLDERS_PATH, :directory_separator => '.').load_images.map{|i| i[:name]}
|
246
|
+
assert_equal(expected, actual)
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
226
250
|
#----------------------------------------------------------------------------
|
227
251
|
|
228
252
|
end
|
data/test/test_case.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sprite-factory
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jake Gordon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rmagick
|