タケユー・ウェブ日報

Ruby on Rails や Flutter といったWeb・モバイルアプリ技術を武器にお客様のビジネス立ち上げを支援する、タケユー・ウェブ株式会社の技術ブログです。

CarrierWave + TinyPNG によるお手軽画像最適化gem

CarrierWaveにTinyPNG APIによる画像最適化Processorを追加するgemが必要になったので作りました。

f:id:uzuki05:20150312195813p:plain

せっかくなので公開しておきます。

rubygems

carrierwave-tinypng | RubyGems.org | your community gem host

GitHub

takeyuweb/carrierwave-tinypng · GitHub

What's CarrierWave-TinyPNG gem

CarrierWave で

  include CarrierWave::TinyPNG
  process :tinypng

とするだけで TinyPNG API を使って画像の最適化するようになるgemです。

転送量節約の役に立つかもしれません。

TinyPNG

TinyPNG – Compress PNG images while preserving transparency

CarrierWave

carrierwaveuploader/carrierwave · GitHub

Installation

Add this line to your application's Gemfile:

gem 'carrierwave-tinypng'

And then execute:

$ bundle

Or install it yourself as:

$ gem install carrierwave-tinypng

Usage

config/initializers/carrierwave.rb

CarrierWave::TinyPNG.configure do |config|
  config.key = ENV['TINYPNG_KEY']
end

app/uploaders/your_uploader.rb

class YourUploader < CarrierWave::Uploader::Base
  include CarrierWave::RMagick
  include CarrierWave::TinyPNG
  process convert: 'png'
  process :tinypng
end

Contributing

  1. Fork it ( https://github.com/takeyuweb/carrierwave-tinypng/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request