carrierwave-imageoptim 0.1.0
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 +7 -0
- data/.gitignore +9 -0
- data/.rspec +2 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/README.md +65 -0
- data/Rakefile +6 -0
- data/carrierwave-imageoptim.gemspec +29 -0
- data/lib/carrierwave-imageoptim/version.rb +5 -0
- data/lib/carrierwave-imageoptim.rb +32 -0
- metadata +137 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e05f2b635404462ebec662f2ee995be8a479a7c2
|
4
|
+
data.tar.gz: 2e56e5c59f74729e467e1ac7f9a987d118f9c78a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 182bf8273f99b864488c8dee4500157a0b2ab72d8f2a9c377849fa00882fb5f829a9fc75276eb3a1a7a846e08bffb03c4e1a69f02f35945e15aac6d39dfe943a
|
7
|
+
data.tar.gz: 77f7eabdef9aef77bf676dad938148bc0f750abee9c4be2cf363b5905aebd0419a775f2a1d740448aec3180b782ce20a5da566e8d9b61f6f4d845adc4fdf68b8
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
# Carrierwave ImageOptim
|
2
|
+
This gem allows you to optimize [CarrierWave](https://github.com/carrierwaveuploader/carrierwave) images using the [image_optim](https://github.com/toy/image_optim) gem.
|
3
|
+
|
4
|
+
## Installation
|
5
|
+
Add this line to your application's Gemfile:
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
gem 'carrierwave-imageoptim'
|
9
|
+
```
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install carrierwave-image_optim
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
To add image optimization to your CarrierWave uploader, first include the module:
|
21
|
+
|
22
|
+
```ruby
|
23
|
+
class MyUploader < CarrierWave::Uploader::Base
|
24
|
+
include CarrierWave::ImageOptimizer
|
25
|
+
...
|
26
|
+
end
|
27
|
+
```
|
28
|
+
|
29
|
+
Then apply to all versions via:
|
30
|
+
|
31
|
+
```ruby
|
32
|
+
class MyUploader < CarrierWave::Uploader::Base
|
33
|
+
include CarrierWave::ImageOptimizer
|
34
|
+
|
35
|
+
process optimize: [{
|
36
|
+
jpegoptim: true,
|
37
|
+
optipng: true,
|
38
|
+
gifsicle: true
|
39
|
+
}]
|
40
|
+
end
|
41
|
+
```
|
42
|
+
|
43
|
+
Or to a single image version via:
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
class MyUploader < CarrierWave::Uploader::Base
|
47
|
+
include CarrierWave::ImageOptimizer
|
48
|
+
|
49
|
+
version :thumbnail do
|
50
|
+
process optimize: [{
|
51
|
+
jpegoptim: true,
|
52
|
+
optipng: true,
|
53
|
+
gifsicle: true
|
54
|
+
}]
|
55
|
+
end
|
56
|
+
end
|
57
|
+
```
|
58
|
+
|
59
|
+
## Contributing
|
60
|
+
|
61
|
+
1. Fork it
|
62
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
63
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
64
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
65
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'carrierwave-imageoptim/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "carrierwave-imageoptim"
|
8
|
+
spec.version = CarrierWave::ImageOptim::VERSION
|
9
|
+
spec.authors = ["nifuramu"]
|
10
|
+
spec.email = ["nozzzzz@gmail.com"]
|
11
|
+
|
12
|
+
spec.summary = %q{A simple image optimizer for CarrierWave via image_optim}
|
13
|
+
spec.description = %q{Simply optimize CarrierWave images via image_optim}
|
14
|
+
spec.homepage = "http://github.com/nifuramu/#{spec.name}"
|
15
|
+
spec.license = 'MIT'
|
16
|
+
|
17
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
|
+
spec.bindir = "exe"
|
19
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
|
+
spec.require_paths = ["lib"]
|
21
|
+
|
22
|
+
spec.add_dependency "carrierwave", ["~> 0.10"]
|
23
|
+
spec.add_runtime_dependency 'image_optim', '~> 0.22'
|
24
|
+
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.10"
|
26
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
27
|
+
spec.add_development_dependency "rspec"
|
28
|
+
spec.add_development_dependency "mini_magick", ">= 3.6.0"
|
29
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'image_optim'
|
2
|
+
require 'carrierwave-imageoptim/version'
|
3
|
+
|
4
|
+
module CarrierWave
|
5
|
+
module ImageOptim
|
6
|
+
DEFAULT_OPTIONS = {
|
7
|
+
skip_missing_workers: true,
|
8
|
+
advpng: false,
|
9
|
+
gifsicle: false,
|
10
|
+
jhead: false,
|
11
|
+
jpegoptim: false,
|
12
|
+
jpegrecompress: false,
|
13
|
+
jpegtran: false,
|
14
|
+
optipng: false,
|
15
|
+
pngcrush: false,
|
16
|
+
pngout: false,
|
17
|
+
pngquant: false,
|
18
|
+
svgo: false,
|
19
|
+
}.freeze
|
20
|
+
|
21
|
+
def optimize(options = {})
|
22
|
+
image_optim = ::ImageOptim.new(optimizer_options(options))
|
23
|
+
image_optim.optimize_image!(current_path)
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def optimizer_options(options)
|
29
|
+
DEFAULT_OPTIONS.deep_merge(options)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
metadata
ADDED
@@ -0,0 +1,137 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: carrierwave-imageoptim
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- nifuramu
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-12-06 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: carrierwave
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.10'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.10'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: image_optim
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.22'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.22'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.10'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.10'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '10.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '10.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: mini_magick
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 3.6.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 3.6.0
|
97
|
+
description: Simply optimize CarrierWave images via image_optim
|
98
|
+
email:
|
99
|
+
- nozzzzz@gmail.com
|
100
|
+
executables: []
|
101
|
+
extensions: []
|
102
|
+
extra_rdoc_files: []
|
103
|
+
files:
|
104
|
+
- ".gitignore"
|
105
|
+
- ".rspec"
|
106
|
+
- ".travis.yml"
|
107
|
+
- Gemfile
|
108
|
+
- README.md
|
109
|
+
- Rakefile
|
110
|
+
- carrierwave-imageoptim.gemspec
|
111
|
+
- lib/carrierwave-imageoptim.rb
|
112
|
+
- lib/carrierwave-imageoptim/version.rb
|
113
|
+
homepage: http://github.com/nifuramu/carrierwave-imageoptim
|
114
|
+
licenses:
|
115
|
+
- MIT
|
116
|
+
metadata: {}
|
117
|
+
post_install_message:
|
118
|
+
rdoc_options: []
|
119
|
+
require_paths:
|
120
|
+
- lib
|
121
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0'
|
131
|
+
requirements: []
|
132
|
+
rubyforge_project:
|
133
|
+
rubygems_version: 2.4.8
|
134
|
+
signing_key:
|
135
|
+
specification_version: 4
|
136
|
+
summary: A simple image optimizer for CarrierWave via image_optim
|
137
|
+
test_files: []
|