web_optimizer 0.0.1 → 0.0.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.
data/README.md CHANGED
@@ -1,10 +1,12 @@
1
1
  # AntigateApi
2
2
 
3
- Antigate (Decode captcha service - antigate.com) wrapper
3
+ Some util script to optime your assets (images, js files, css files).
4
+ Contribute more are welcome, please drop me an email at
5
+ vo.mita.ov at gmail.com if you need help or want to contribute
4
6
 
5
7
  ## Installation
6
8
 
7
- $ gem install antigate_api
9
+ $ gem install web_optimizer
8
10
 
9
11
  ## Requirement
10
12
 
@@ -19,8 +21,9 @@ Antigate (Decode captcha service - antigate.com) wrapper
19
21
 
20
22
  Compress CSS
21
23
  ```
22
- WebOptimizer.compress_css(dir, ignore_paths)
23
- WebOptimizer.compress_js(dir, ignore_paths)
24
+ WebOptimizer.compress_css(dir, ignore_paths=[])
25
+ WebOptimizer.compress_js(dir, ignore_paths=[])
26
+ WebOptimizer.compress_img(dir, ignore_paths=[])
24
27
  ```
25
28
 
26
29
  ## Contributing
@@ -30,3 +33,4 @@ WebOptimizer.compress_js(dir, ignore_paths)
30
33
  3. Commit your changes (`git commit -am 'Add some feature'`)
31
34
  4. Push to the branch (`git push origin my-new-feature`)
32
35
  5. Create new Pull Request
36
+
@@ -9,7 +9,7 @@ module WebOptimizer
9
9
  end
10
10
 
11
11
  def self.compress_css_recursive(dir_path, ignore_paths, trict=false)
12
- return unless File.directory? dir_path
12
+ raise Exception.new("Invalid dir path") unless File.directory? dir
13
13
 
14
14
  ignore_paths = ignore_paths.map do |path|
15
15
  tmp_path = Pathname.new(path)
@@ -9,7 +9,7 @@ module WebOptimizer
9
9
  end
10
10
 
11
11
  def self.compress_js_recursive(dir, ignore_paths, trict=false)
12
- return unless File.directory? dir
12
+ raise Exception.new("Invalid dir path") unless File.directory? dir
13
13
 
14
14
  ignore_paths = ignore_paths.map do |path|
15
15
  tmp_path = Pathname.new(path)
@@ -4,21 +4,30 @@ require "active_support"
4
4
  TMP_EXT_NAME = "-tmp.png"
5
5
 
6
6
  module WebOptimizer
7
- def self.compress_img(dir)
8
- return unless File.directory? dir
7
+ def self.compress_img(dir, ignore_paths=[])
8
+ raise Exception.new("Invalid dir path") unless File.directory? dir
9
9
 
10
- Dir[File.join(dir, "**/*")].each do |image_path|
11
- if File.directory?(image_path)
12
- compress_img(image_path)
13
- elsif (file_ext = File.extname(image_path)) == ".png"
14
- file_name = File.basename(image_path)
15
- `/usr/local/bin/pngquant #{image_path} --ext #{TMP_EXT_NAME}`
16
- new_file_path = image_path.gsub(file_ext, "-tmp.png")
17
- `mv #{new_file_path} #{image_path}`
18
- puts "[pngquant] #{image_path}"
19
- elsif ['png'].any? { |ext| file_ext == ".#{ext}" }
20
- puts "[image_optim] #{image_path}"
21
- `/Users/tamvo/.rvm/gems/ruby-1.9.3-p194@general/bin/image_optim #{image_path}`
10
+ ignore_paths = ignore_paths.map do |path|
11
+ tmp_path = Pathname.new(path)
12
+ tmp_path.absolute? ? path : File.join(dir, path)
13
+ end
14
+
15
+ unless check_include_dir(ignore_paths, dir)
16
+ Dir[File.join(dir, "**/*")].each do |image_path|
17
+ next if check_include_dir(ignore_paths, image_path)
18
+
19
+ if File.directory?(image_path)
20
+ compress_img(image_path)
21
+ elsif (file_ext = File.extname(image_path)) == ".png"
22
+ file_name = File.basename(image_path)
23
+ `/usr/local/bin/pngquant #{image_path} --ext #{TMP_EXT_NAME}`
24
+ new_file_path = image_path.gsub(file_ext, "-tmp.png")
25
+ `mv #{new_file_path} #{image_path}`
26
+ puts "[pngquant] #{image_path}"
27
+ elsif ['png'].any? { |ext| file_ext == ".#{ext}" }
28
+ puts "[image_optim] #{image_path}"
29
+ `/Users/tamvo/.rvm/gems/ruby-1.9.3-p194@general/bin/image_optim #{image_path}`
30
+ end
22
31
  end
23
32
  end
24
33
  end
@@ -1,3 +1,3 @@
1
1
  module WebOptimizer
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web_optimizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,14 +9,14 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-15 00:00:00.000000000 Z
12
+ date: 2014-01-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: active_support
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - '>='
20
20
  - !ruby/object:Gem::Version
21
21
  version: '0'
22
22
  type: :runtime
@@ -24,7 +24,7 @@ dependencies:
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ! '>='
27
+ - - '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
30
  - !ruby/object:Gem::Dependency
@@ -32,7 +32,7 @@ dependencies:
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
- - - ! '>='
35
+ - - '>='
36
36
  - !ruby/object:Gem::Version
37
37
  version: '0'
38
38
  type: :runtime
@@ -40,7 +40,7 @@ dependencies:
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ! '>='
43
+ - - '>='
44
44
  - !ruby/object:Gem::Version
45
45
  version: '0'
46
46
  description: Compress all css file in specified dir with yuicompressor
@@ -78,13 +78,13 @@ require_paths:
78
78
  required_ruby_version: !ruby/object:Gem::Requirement
79
79
  none: false
80
80
  requirements:
81
- - - ! '>='
81
+ - - '>='
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  required_rubygems_version: !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
87
- - - ! '>='
87
+ - - '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  requirements: []