Skip to content
smallPict
Start Free

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