Commit Graph

22 Commits

Author SHA1 Message Date
Janko Marohnić
ca12968587
Use ImageProcessing gem for ActiveStorage variants
ImageProcessing gem is a wrapper around MiniMagick and ruby-vips, and
implements an interface for common image resizing and processing. This
is the canonical image processing gem recommended in [Shrine], and
that's where it developed from. The initial implementation was extracted
from Refile, which also implements on-the-fly transformations.

Some features that ImageProcessing gem adds on top of MiniMagick:

  * resizing macros
    - #resize_to_limit
    - #resize_to_fit
    - #resize_to_fill
    - #resize_and_pad
  * automatic orientation
  * automatic thumbnail sharpening
  * avoids the complex and inefficient MiniMagick::Image class
  * will use "magick" instead of "convert" on ImageMagick 7

However, the biggest feature of the ImageProcessing gem is that it has
an alternative implementation that uses libvips. Libvips is an
alternative to ImageMagick that can process images very rapidly (we've
seen up 10x faster than ImageMagick).

What's great is that the ImageProcessing gem provides the same interface
for both implementations. The macros are named the same, and the libvips
implementation does auto orientation and thumbnail sharpening as well;
only the operations/options specific to ImageMagick/libvips differ. The
integration provided by this PR should work for both implementations.

The plan is to introduce the ImageProcessing backend in Rails 6.0 as the
default backend and deprecate the MiniMagick backend, then in Rails 6.1
remove the MiniMagick backend.
2018-04-18 17:46:25 +02:00
Yoshiyuki Hirano
c1d7df2538 Add cloud service's links to README of Active Storage [ci skip] 2017-12-22 06:40:24 +09:00
Fatos Morina
37cf9b3466 Fix typos and add a few suggestions 2017-11-28 19:27:43 +01:00
Oleg
2ab561932e how do we install active_storage? [skip ci] 2017-10-06 12:54:23 -07:00
Ryuta Kamizono
2402dd5588 Merge pull request #30628 from yhirano55/add_local_option_to_message_form
Add local option to Message form [ci skip]
2017-09-17 22:29:02 +09:00
Yoshiyuki Hirano
7d14bda3a7 Fix file missing in activestorage's example code [ci skip]
* File.open("~/face.jpg") raise error:
  `Errno::ENOENT: No such file or directory @ rb_sysopen - ~/face.jpg`
2017-09-17 21:00:23 +09:00
Yoshiyuki Hirano
194a93385b Add local option to Message form [ci skip]
* MessagesController redirects to `GET /message/:id`.
* It looks it don't expect XHR request.
* `form_with` behaves for XHR by default.
* I've added `local: true` option to `form_with`.
2017-09-17 17:44:04 +09:00
Xavier Noria
ae87217382 minor tweaks in Active Storage after a walkthrough 2017-08-15 18:50:46 +02:00
Rafael Mendonça França
1eb8f88028 Remove unnedded Active Storage installation steps
Active Storage was now merged to master and it is automatically
installed in a new application.
2017-08-11 17:19:04 -04:00
Ryuta Kamizono
de80aa6412 Microsoft Azure --> Microsoft Azure Storage [ci skip] 2017-08-12 01:20:23 +09:00
Anton Khamets
7c89948c41 Extend image_tag to accept ActiveStorage Attachments and Variants (#30084)
* Extend image_tag to accept ActiveStorage's Attachments and Variants

* Flip resolve_image_source around

* Add tests for the new use-cases of image_tag

* Remove the higher-level test

* Update image_tag documentation

* Add error states into the test suite

* Re-raise polymorhic_url's NoMethodError as ArgumentError

* delegate_missing_to will raise DelegationError instead of NoMethodError
2017-08-07 09:38:51 -05:00
Vipul A M
1fe55e94b7 Pass over Active Storage readme [ci skip] (#30086) 2017-08-06 13:44:45 +05:30
yuuji.yaginuma
70d0e53db7 Fix repository URL [ci skip]
changed `rails/activestorage` to `rails/rails`.
2017-08-05 08:25:29 +09:00
Mike Gunderloy
c5ae4e52e3 Tweak requires
Omit azure-core (it's required by azure-storage), remove require:false to match other points.
2017-08-02 20:47:58 -05:00
Mike Gunderloy
d4f0b10319 Use release azure-core gem 2017-08-02 20:32:09 -05:00
Mike Gunderloy
0f2d3fb6da Update README.md 2017-08-02 19:55:10 -05:00
Mike Gunderloy
8aa742ff52 Add Azure gems to README 2017-08-02 18:29:51 -05:00
Bryan Lim
f927de6fef Add Azure to readme
previously https://github.com/rails/activestorage/pull/86
2017-08-02 09:57:19 +08:00
David Heinemeier Hansson
b807b5b7e8 Cut down on installation advice 2017-08-01 16:28:05 -05:00
David Heinemeier Hansson
c622e532fc Drop README terms no longer relevant 2017-08-01 16:26:13 -05:00
David Heinemeier Hansson
90a8e0698d Use config/storage.yml as part of the skeleton and loading 2017-07-31 15:57:37 -05:00
Rafael Mendonça França
9330d01ada Add 'activestorage/' from commit '3f4a7218a4a4923a0e7ce1b2eb0d2888ce30da58'
git-subtree-dir: activestorage
git-subtree-mainline: 0d58e7e478e79c2d6b2a39a4444d2a17a903b2a6
git-subtree-split: 3f4a7218a4a4923a0e7ce1b2eb0d2888ce30da58
2017-07-31 15:21:22 -04:00