image_optim_rake 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/.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
|