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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 84728f800392a61350da662ec41f49e6bec4da69
4
- data.tar.gz: df42c824ced1eac1184341b0fcb432161d990403
3
+ metadata.gz: 3a9b21d065cdb780de237dcc5a4dda19a3c0adaf
4
+ data.tar.gz: d7ef6c39ef75a910f72b501771335fba5e2538ff
5
5
  SHA512:
6
- metadata.gz: 0519fa8492aa4732c0f617379ec510dfb9704a9af91b060e75ecc950e553cdf8c5fae6d831e425ecd9ef0b55292695f549354916a6810519c7e73ba712232d3f
7
- data.tar.gz: 3681ca06e36be77f62905249b047183b20aed6c46aa921fa4105b4780ee849f82fa3e8d8bb7cc8019ffa80ddfc22e27da20d8f6c3647e89d5c616ccf0145259c
6
+ metadata.gz: 91388b26e77d3b334772d5121247eded2598d597fa2f65eab149afa5ff2bd5042e85bc5b3d25ace622a4868a797a54f07a2378a7895aa3d154f1e3291e14562e
7
+ data.tar.gz: dc4f4158adef2aa910bc562d69112e7e3aaa17a5cec4691f35b3ccb0d631e13ae49cd7801a3035bdb10d8be998868010a8dee35052b4a0c7caf68ee700a6754a
@@ -2,5 +2,8 @@ language: ruby
2
2
  rvm:
3
3
  - "1.9.3"
4
4
  - "2.0.0"
5
- - jruby-19mode
6
5
  - rbx-19mode
6
+
7
+ before_install:
8
+ - sudo apt-get update -qq
9
+ - sudo apt-get install -qq -y advancecomp gifsicle jpegoptim libjpeg-progs optipng pngcrush
@@ -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
@@ -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 "progressbar", "~> 0.20.0"
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 = ::ProgressBar.new("Miniying", total_size)
37
+ progress = Progress.new(:msg => "0/#{total_count}")
38
38
  processor = ::ImageOptim.new(config)
39
- dirs.values.flatten.each do |image_file|
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.inc
43
+ progress.show :msg => "#{number}/#{total_count}", :done => number, :total => total_count
43
44
  end
44
- progress.finish
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
@@ -1,3 +1,3 @@
1
1
  module ImageOptimRake
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -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], :threads => true)
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.2
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-03-04 00:00:00.000000000 Z
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: progressbar
42
+ name: powerbar
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: 0.20.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.20.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.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