{"id":26804567,"url":"https://github.com/katanacode/carrierwave-blitline","last_synced_at":"2026-05-05T05:34:58.939Z","repository":{"id":62555148,"uuid":"74896809","full_name":"KatanaCode/carrierwave-blitline","owner":"KatanaCode","description":"Integrates Blitline with Carrierwave","archived":false,"fork":false,"pushed_at":"2020-05-26T19:02:51.000Z","size":49,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-04-26T05:43:16.029Z","etag":null,"topics":["blitline","carrierwave","gem","rails","ruby"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KatanaCode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-27T15:38:04.000Z","updated_at":"2020-05-26T19:02:49.000Z","dependencies_parsed_at":"2022-11-03T05:15:48.993Z","dependency_job_id":null,"html_url":"https://github.com/KatanaCode/carrierwave-blitline","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatanaCode%2Fcarrierwave-blitline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatanaCode%2Fcarrierwave-blitline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatanaCode%2Fcarrierwave-blitline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatanaCode%2Fcarrierwave-blitline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KatanaCode","download_url":"https://codeload.github.com/KatanaCode/carrierwave-blitline/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246249212,"owners_count":20747168,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blitline","carrierwave","gem","rails","ruby"],"created_at":"2025-03-29T22:18:22.244Z","updated_at":"2026-05-05T05:34:58.908Z","avatar_url":"https://github.com/KatanaCode.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Latest Version](https://img.shields.io/gem/v/carrierwave-blitline.svg)](https://rubygems.org/gems/carrierwave-blitline)\n[![CircleCI](https://circleci.com/gh/KatanaCode/carrierwave-blitline.svg?style=svg)](https://circleci.com/gh/KatanaCode/carrierwave-blitline)\n[![Downloads](https://img.shields.io/github/downloads/katanacode/carrierwave-blitline/total.svg)](https://img.shields.io/github/downloads/katanacode/carrierwave-blitline/total.svg)\n[![Maintainability](https://api.codeclimate.com/v1/badges/fdd8cffc25d6002a68df/maintainability)](https://codeclimate.com/github/KatanaCode/carrierwave-blitline/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/fdd8cffc25d6002a68df/test_coverage)](https://codeclimate.com/github/KatanaCode/carrierwave-blitline/test_coverage)\n\n\n---\n\n# Carrierwave::Blitline\n\nThis gem is still under construction but it basically works in its current form.\n\n## Installation\n\nInstall it with these other Carrierwave gems:\n\n    gem \"carrierwave\"\n\n    gem \"carrierwave-aws\"\n\n    gem \"carrierwave-blitline\"\n\nThen execute\n\n     $ bundle install\n\nAdd this to your Carrierwave Uploader files:\n\n    class ImageUploader \u003c CarrierWave::Uploader::Base\n\n      # NOTE: We're using MiniMagick here...\n      include CarrierWave::MiniMagick\n\n      require \"carrierwave/blitline\"\n      include CarrierWave::Blitline\n\n\n      # This macro lets your uploader know you're using Carrierwave\n      process_via_blitline\n\n\n      # other stuff ...\n\n    end\n\n## CONFIGURE\n\n### Your Carrierwave setup should be something like this\n\n    CarrierWave.configure do |config|\n\n      if Rails.env.test?\n        config.storage           = :file\n        config.enable_processing = false\n        config.asset_host        = 'http://test.host'\n\n      else\n        config.aws_credentials = {\n          :access_key_id     =\u003e ENV[\"AWS_ACCESS_KEY\"],\n          :secret_access_key =\u003e ENV[\"AWS_SECRET_ACCESS_KEY\"],\n          :region            =\u003e ENV[\"S3_BUCKET_REGION\"]\n        }\n        config.storage            :aws\n        config.aws_bucket                       = ENV[\"S3_BUCKET_NAME\"]\n        config.aws_acl                          = 'public-read'\n        config.aws_attributes                   = {\n          expires: 1.week.from_now.httpdate, cache_control: 'max-age=315576000' }\n\n        config.asset_host = \"https://%s\" % ENV[\"ASSET_HOST\"]\n        config.enable_processing                = true\n        config.aws_authenticated_url_expiration = 60 * 60 * 24 * 7\n      end\n\n    end\n\n### Configuration\n\nThe following config attributes must be set for this to work properly.\n\n    CarrierWave::Blitline.s3_bucket_name          = ENV[\"S3_BUCKET_NAME\"]\n    CarrierWave::Blitline.s3_bucket_region        = ENV[\"S3_BUCKET_REGION\"]\n    CarrierWave::Blitline.blitline_application_id = ENV[\"BLITLINE_APPLICATION_ID\"]\n\n\n## Usage\n\nDefine your carrierwave versions as you normally would.\n\nBasic functions (`resize_to_fit`, `resize_to_fill`, etc.) are dealt with automagically.\n\nFor other functions, you need to write two methods in your uploader: 1) The local processing method, 2) the params for Blitline. For example\n\n    # Images will be cropped, and then resized to fill\n    version :cropped do\n      process :crop\n      process :resize_to_fill =\u003e [200, 200]\n    end\n\n    # Use this when processing locally\n    def crop\n      manipulate! do |img|\n        img = img.crop \"#{model.photo_crop_x}x#{model.photo_crop_y}+#{model.photo_crop_width}+#{model.photo_crop_height}\"\n        img\n      end\n    end\n\n    # Use this when processing on Blitline\n    def params_for_crop(*)\n      return {\n        x: model.photo_crop_x,\n        y: model.photo_crop_y,\n        width: model.photo_crop_width,\n        height: model.photo_crop_height\n      }\n    end\n\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/katanacode/carrierwave-blitline.\n\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n\n## Created by\n\n[Katana — web developers based in Edinburgh, Scotland](https://katanacode.com/)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkatanacode%2Fcarrierwave-blitline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkatanacode%2Fcarrierwave-blitline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkatanacode%2Fcarrierwave-blitline/lists"}