Ruby & Rails SDK
Official smallpict gem for Ruby on Rails, Sinatra, and Sidekiq worker environments.
The official SmallPict Ruby gem provides idiomatic integration for Ruby 3.0+ and Ruby on Rails.
Installation
Shell
gem install smallpict# or in your Gemfilegem 'smallpict', '~> 0.0.2'Quickstart
Ruby
require 'smallpict'
client = SmallPict::Client.new( api_key: ENV['SMALLPICT_API_KEY'], secret_key: ENV['SMALLPICT_SECRET_KEY'])
# 1. Optimize an image (file path, IO, or binary string)result = client.optimize( 'hero.jpg', format: 'avif', quality: 80)
puts "Optimized URL: #{result.url}"puts "Savings: #{result.savings_percentage}%"
# 2. Check quota usagequota = client.get_quotaputs "Plan: #{quota.plan}, Used: #{quota.quota_percentage}%"
# 3. Purge CDN cacheclient.purge_cdn(['https://cdn.smallpict.app/opt/hero.avif'])Rails ActiveStorage Integration
SmallPict includes a native ActiveStorage service adapter:
Ruby
# config/initializers/smallpict.rbSmallPict.configure do |config| config.api_key = Rails.application.credentials.dig(:smallpict, :api_key) config.secret_key = Rails.application.credentials.dig(:smallpict, :secret_key)end