image_optim_rake 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +4 -1
- data/Gemfile.lock +37 -0
- data/image_optim_rake.gemspec +1 -1
- data/lib/image_optim_rake/image_optim_task.rb +1 -1
- data/lib/image_optim_rake/minifier.rb +6 -5
- data/lib/image_optim_rake/progress.rb +25 -0
- data/lib/image_optim_rake/version.rb +1 -1
- data/test/units/minifier_test.rb +12 -1
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3a9b21d065cdb780de237dcc5a4dda19a3c0adaf
|
4
|
+
data.tar.gz: d7ef6c39ef75a910f72b501771335fba5e2538ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91388b26e77d3b334772d5121247eded2598d597fa2f65eab149afa5ff2bd5042e85bc5b3d25ace622a4868a797a54f07a2378a7895aa3d154f1e3291e14562e
|
7
|
+
data.tar.gz: dc4f4158adef2aa910bc562d69112e7e3aaa17a5cec4691f35b3ccb0d631e13ae49cd7801a3035bdb10d8be998868010a8dee35052b4a0c7caf68ee700a6754a
|
data/.travis.yml
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
image_optim_rake (0.0.3)
|
5
|
+
image_optim (~> 0.7.3)
|
6
|
+
powerbar (~> 1.0.11)
|
7
|
+
rake
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: https://rubygems.org/
|
11
|
+
specs:
|
12
|
+
ansi (1.4.3)
|
13
|
+
fspath (2.0.4)
|
14
|
+
hashie (2.0.5)
|
15
|
+
image_optim (0.7.3)
|
16
|
+
fspath (~> 2.0.3)
|
17
|
+
image_size (~> 1.1.2)
|
18
|
+
in_threads (~> 1.1.1)
|
19
|
+
progress (~> 2.4.0)
|
20
|
+
image_size (1.1.2)
|
21
|
+
in_threads (1.1.1)
|
22
|
+
minitest (4.6.2)
|
23
|
+
powerbar (1.0.11)
|
24
|
+
ansi (~> 1.4.0)
|
25
|
+
hashie (>= 1.1.0)
|
26
|
+
progress (2.4.0)
|
27
|
+
rake (10.1.0)
|
28
|
+
testem (0.1.0)
|
29
|
+
minitest (>= 3)
|
30
|
+
|
31
|
+
PLATFORMS
|
32
|
+
ruby
|
33
|
+
|
34
|
+
DEPENDENCIES
|
35
|
+
image_optim_rake!
|
36
|
+
minitest
|
37
|
+
testem
|
data/image_optim_rake.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |gem|
|
|
17
17
|
|
18
18
|
gem.add_dependency "image_optim", "~> 0.7.3"
|
19
19
|
gem.add_dependency "rake"
|
20
|
-
gem.add_dependency "
|
20
|
+
gem.add_dependency "powerbar", "~> 1.0.11"
|
21
21
|
|
22
22
|
gem.add_development_dependency "minitest"
|
23
23
|
gem.add_development_dependency "testem"
|
@@ -19,7 +19,7 @@ module ImageOptimRake
|
|
19
19
|
def define
|
20
20
|
namespace name do
|
21
21
|
desc "Minify all images found under /app/assets/images and /public/images"
|
22
|
-
task :minify do
|
22
|
+
task :minify => :environment do
|
23
23
|
dirs = ENV["dirs"] ? ENV["dirs"].split(",") : self.class.dirs
|
24
24
|
Minifier.new(dirs, self.class.config).process!
|
25
25
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require "image_optim_rake/image"
|
2
|
+
require "image_optim_rake/progress"
|
2
3
|
require "image_optim"
|
3
|
-
require "progressbar"
|
4
4
|
|
5
5
|
module ImageOptimRake
|
6
6
|
class Minifier
|
@@ -34,14 +34,15 @@ module ImageOptimRake
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def process_images!
|
37
|
-
progress =
|
37
|
+
progress = Progress.new(:msg => "0/#{total_count}")
|
38
38
|
processor = ::ImageOptim.new(config)
|
39
|
-
dirs.values.flatten.
|
39
|
+
dirs.values.flatten.each_with_index do |image_file, index|
|
40
|
+
number = index + 1
|
40
41
|
processor.optimize_image!(image_file.path)
|
41
42
|
image_file.reload_size!
|
42
|
-
progress.
|
43
|
+
progress.show :msg => "#{number}/#{total_count}", :done => number, :total => total_count
|
43
44
|
end
|
44
|
-
progress.
|
45
|
+
progress.close
|
45
46
|
end
|
46
47
|
|
47
48
|
def log_images
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require "powerbar"
|
2
|
+
|
3
|
+
module ImageOptimRake
|
4
|
+
class Progress < PowerBar
|
5
|
+
PROGRESS_TEMPLATE = "${<msg>} ${[<bar>] } \e[33;1m${<percent>%} \e[36;1m${<elapsed>}"
|
6
|
+
|
7
|
+
def initialize(options = {})
|
8
|
+
super(options).tap do |progress|
|
9
|
+
finite = progress.settings.tty.finite
|
10
|
+
|
11
|
+
finite.template.main = PROGRESS_TEMPLATE
|
12
|
+
finite.template.padchar = " "
|
13
|
+
finite.template.barchar = "="
|
14
|
+
finite.template.exit = "\e[?25h\e[0m"
|
15
|
+
finite.template.close = "\e[?25h\e[0m\n"
|
16
|
+
finite.output = lambda { |s| $stderr.print(s) }
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def show(options, force = true)
|
21
|
+
super(options, force)
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
data/test/units/minifier_test.rb
CHANGED
@@ -23,7 +23,7 @@ class MinifierTest < Testem
|
|
23
23
|
sizes[file] = open(file, "rb").size
|
24
24
|
end
|
25
25
|
|
26
|
-
minifier = ImageOptimRake::Minifier.new([dir],
|
26
|
+
minifier = ImageOptimRake::Minifier.new([dir], minify_options)
|
27
27
|
minifier.process!
|
28
28
|
|
29
29
|
Dir.glob(File.join(dir, "**/*.{jpg,png}")).each do |file|
|
@@ -31,4 +31,15 @@ class MinifierTest < Testem
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def minify_options
|
38
|
+
# we cannot use pngout on travis CI as this is a binary
|
39
|
+
# which cannot be included in the build process
|
40
|
+
{
|
41
|
+
:threads => true,
|
42
|
+
:pngout => !ENV['CI']
|
43
|
+
}
|
44
|
+
end
|
34
45
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: image_optim_rake
|
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
|
- Jonas Thiel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: image_optim
|
@@ -39,19 +39,19 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: powerbar
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 1.0.11
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: 1.0.11
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: minitest
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -90,6 +90,7 @@ files:
|
|
90
90
|
- .gitignore
|
91
91
|
- .travis.yml
|
92
92
|
- Gemfile
|
93
|
+
- Gemfile.lock
|
93
94
|
- README.md
|
94
95
|
- Rakefile
|
95
96
|
- image_optim_rake.gemspec
|
@@ -97,6 +98,7 @@ files:
|
|
97
98
|
- lib/image_optim_rake/image.rb
|
98
99
|
- lib/image_optim_rake/image_optim_task.rb
|
99
100
|
- lib/image_optim_rake/minifier.rb
|
101
|
+
- lib/image_optim_rake/progress.rb
|
100
102
|
- lib/image_optim_rake/railtie.rb
|
101
103
|
- lib/image_optim_rake/version.rb
|
102
104
|
- test/fixtures/unprocessed.jpg
|
@@ -123,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
125
|
version: '0'
|
124
126
|
requirements: []
|
125
127
|
rubyforge_project:
|
126
|
-
rubygems_version: 2.0.
|
128
|
+
rubygems_version: 2.0.3
|
127
129
|
signing_key:
|
128
130
|
specification_version: 4
|
129
131
|
summary: Provide a little helper command to minify images
|