Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove unused attribute | George Claghorn | 2018-07-21 | 2 | -5/+5 |
| | |||||
* | Discard ActiveStorage::PurgeJobs on ActiveRecord::InvalidForeignKey | George Claghorn | 2018-07-20 | 2 | -1/+11 |
| | |||||
* | Test that ActiveStorage::Blob#purge fails when attachments exist | George Claghorn | 2018-07-20 | 1 | -0/+8 |
| | |||||
* | Add a foreign-key constraint to the attachments table for blobs | George Claghorn | 2018-07-19 | 3 | -2/+3 |
| | |||||
* | Delete attachment before purging blob | George Claghorn | 2018-07-19 | 1 | -2/+2 |
| | |||||
* | Destroy blob record before deleting stored data | George Claghorn | 2018-07-19 | 1 | -1/+1 |
| | |||||
* | Link between ActiveStorage::Blob#purge, #purge_later, and #delete [ci skip] | George Claghorn | 2018-07-18 | 1 | -5/+5 |
| | |||||
* | Clarify the ActiveStorage::Attachment#purge and #purge_later docs | George Claghorn | 2018-07-18 | 1 | -2/+2 |
| | | | | Link to the corresponding ActiveStorage::Blob methods, whose docs more accurately describe their effects. [ci skip] | ||||
* | Remove unnecessary tap | George Claghorn | 2018-07-17 | 1 | -10/+8 |
| | |||||
* | Fix replacing many attachments via assign and attach | George Claghorn | 2018-07-17 | 2 | -0/+40 |
| | |||||
* | Correct test name | George Claghorn | 2018-07-16 | 1 | -1/+1 |
| | |||||
* | Fix that successive ActiveStorage::Attached::Many#attach calls would ↵ | George Claghorn | 2018-07-16 | 2 | -27/+22 |
| | | | | overwrite previous attachments | ||||
* | Test removing attachments via #attach | George Claghorn | 2018-07-16 | 2 | -12/+59 |
| | |||||
* | Restore inadvertently-removed fallback | George Claghorn | 2018-07-15 | 2 | -1/+8 |
| | |||||
* | Support HTTP Range downloads from disk | George Claghorn | 2018-07-15 | 3 | -20/+30 |
| | | | | Closes #32193. | ||||
* | Clear attachment changes on reload | George Claghorn | 2018-07-13 | 3 | -0/+20 |
| | |||||
* | Implement ActiveStorage::Attached::{One,Many}#attach in terms of changes | George Claghorn | 2018-07-13 | 7 | -67/+183 |
| | |||||
* | Fix that detaching could purge | George Claghorn | 2018-07-13 | 4 | -2/+34 |
| | |||||
* | Fix analyzing new blobs from uploaded files on attach | George Claghorn | 2018-07-13 | 3 | -18/+120 |
| | |||||
* | Discard ActiveStorage::PurgeJobs for missing blobs | George Claghorn | 2018-07-11 | 2 | -0/+29 |
| | |||||
* | Remove overly-broad retry in ActiveStorage::PurgeJob | George Claghorn | 2018-07-11 | 1 | -3/+0 |
| | | | | We've never intentionally tripped this retry in production. Add retries for specific errors as needed. | ||||
* | Raise an ArgumentError instead of a RuntimeError | George Claghorn | 2018-07-08 | 3 | -3/+3 |
| | |||||
* | Store newly-uploaded files on save rather than assignment | George Claghorn | 2018-07-07 | 22 | -679/+1049 |
| | |||||
* | Fix that models can clobber each others' attachment reflections | George Claghorn | 2018-07-07 | 3 | -16/+25 |
| | | | | | | | | | | | | | | Consider the following model definitions: class User < ApplicationRecord has_one_attached :avatar end class Group < ApplicationRecord has_one_attached :avatar end If you attempt to reflect on the User model's avatar attachment via User.reflect_on_attachment, you could receive a reflection for the Group model's avatar attachment. Fix this by ensuring that each model class uses its own Hash object to track attachment reflections. | ||||
* | Remove vestigial require on ActiveStorage GCSService | Bibek Shrestha | 2018-07-04 | 1 | -1/+0 |
| | | | | | | | | | | | | The file `filename.rb` as mentioned in `require "active_storage/filename"` belongs to the `app` folder while GCSService belongs to the lib folder. Looking at the git blame, it was added in commit https://github.com/rails/rails/commit/ccac681122db9747fec9512076772bca345e24b9#diff-bda6a610ef1575b2c8458c96b7f12578 where ActiveStorage::Filename was actually used. But it is no longer required on master and therefore can be removed. This allows anyone to use GCSService directly without enabling ActiveStorage engine. | ||||
* | Tweak Previewer::PopplerPDFPreviewer#pdftoppm_exists? | utilum | 2018-06-29 | 1 | -1/+1 |
| | | | | Does not warn `instance variable @pdftoppm_exists not initialized`. | ||||
* | Generate a new key for each service test | George Claghorn | 2018-06-25 | 6 | -20/+20 |
| | | | | Sidestep Google Cloud Storage's restrictive per-object rate limit. | ||||
* | Update service.rb | ishanray | 2018-06-24 | 1 | -1/+1 |
| | |||||
* | Permit configuring the default service URL expiry | George Claghorn | 2018-06-21 | 8 | -10/+10 |
| | |||||
* | Fix "warning: Net::HTTPResponse#header is obsolete" | yuuji.yaginuma | 2018-06-17 | 1 | -1/+1 |
| | | | | Ref: https://github.com/ruby/ruby/blob/cc77a811298bd7ab1c422f7f999b93c858327da9/lib/net/http/response.rb#L138-L155 | ||||
* | Update ffmpeg -> FFmpeg, mutools|mupdf -> muPDF | utilum | 2018-06-08 | 3 | -5/+5 |
| | | | | [ci skip] | ||||
* | Refactor activestorage/test/models/attached_test.rb | bogdanvlviv | 2018-06-07 | 1 | -19/+21 |
| | | | | | | | | | | | Don't include `ActiveJob::TestHelper` since there is no test that uses it. Ensure removing of overridden User's methods. Related to https://github.com/rails/rails/pull/33085#issuecomment-395548563 Module#remove_method is private in Ruby 2.4. Related to fd0bd1bf682622f064ac437ceee4e1b2a6b6d3b9 | ||||
* | Exclude upload time from instrumented preview time | George Claghorn | 2018-06-03 | 1 | -5/+10 |
| | |||||
* | Merge pull request #33018 from kddeisz/defined-attachments | Rafael França | 2018-06-01 | 5 | -0/+119 |
|\ | | | | | ActiveStorage reflection | ||||
| * | Ensure reflection_class_for is private | Kevin Deisz | 2018-05-31 | 1 | -12/+13 |
| | | |||||
| * | Move ActiveStorage reflection logic entirely into ActiveStorage | Kevin Deisz | 2018-05-31 | 3 | -2/+74 |
| | | |||||
| * | Reflection for attachments | Kevin Deisz | 2018-05-30 | 3 | -0/+46 |
| | | | | | | | | Add the ability to reflect on the attachments that have been defined using ActiveRecord::Reflection. | ||||
* | | Remove errant debugger call | George Claghorn | 2018-05-30 | 1 | -1/+0 |
| | | |||||
* | | Include blob ID in tempfile name for debugging convenience | George Claghorn | 2018-05-30 | 3 | -10/+20 |
|/ | |||||
* | Fix reference | George Claghorn | 2018-05-28 | 1 | -1/+1 |
| | |||||
* | Verify integrity after chunked download | George Claghorn | 2018-05-28 | 5 | -3/+24 |
| | |||||
* | Hide Active Storage migration installation task (#33007) | utilum | 2018-05-28 | 1 | -0/+3 |
| | | | Resolves #33006 | ||||
* | Merge pull request #32968 from utilum/shadowing_outer_variable | George Claghorn | 2018-05-23 | 1 | -8/+6 |
|\ | | | | | Avoid 2.6 warning: shadowing outer local variable - list | ||||
| * | Avoid 2.6 warning: shadowing outer local variable - list | utilum | 2018-05-23 | 1 | -8/+6 |
| | | |||||
* | | Enable warnings in all test tasks | utilum | 2018-05-23 | 1 | -6/+6 |
|/ | | | | Also normalize AJ task use t, like all other Rails test tasks. | ||||
* | Change video preview format from PNG to JPG | Javan Makhmali | 2018-05-23 | 3 | -7/+7 |
| | |||||
* | Merge pull request #32144 from kazu9su/master | George Claghorn | 2018-05-22 | 1 | -0/+4 |
|\ | | | | | Add ActiveStorage::Service::DiskService#url_for_direct_upload test | ||||
| * | Add ActiveStorage::Service::DiskService#url_for_direct_upload test | tommy | 2018-03-01 | 1 | -0/+4 |
| | | |||||
* | | Disable variant options when false or nil present | Jacob Smith | 2018-05-21 | 3 | -12/+81 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In response to https://github.com/rails/rails/issues/32917 In the current implementation, ActiveStorage passes all options to the underlying processor, including when a key has a value of false. For example, passing: ``` avatar.variant(resize: "100x100", monochrome: false, flip: "-90") ``` will return a monochrome image (or an error, pending on ImageMagick configuration) because it passes `-monochrome false` to the command (but the command line does not allow disabling flags this way, as usually a user would omit the flag entirely to disable that feature). This fix only passes those keys forward to the underlying processor if the value responds to `present?`. In practice, this means that `false` or `nil` will be filtered out before going to the processor. One possible use case would be for a user to be able to apply different filters to an avatar. The code might look something like: ``` variant_options = { monochrome: params[:monochrome], resize: params[:resize] } avatar.variant(*variant_options) ``` Obviously some sanitization may be beneficial in a real-world scenario, but this type of configuration object could be used in many other places as well. - Add removing falsy values from varaints to changelog - The entirety of #image_processing_transformation inject block was wrapped in `list.tap` to guard against the default `nil` being returned if no conditional was called. - add test for explicitly true variant options | ||||
* | | Permit opening a blob in a custom tempdir | George Claghorn | 2018-05-17 | 5 | -9/+26 |
| | |