Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/shrinerb/shrine

File Attachment toolkit for Ruby applications
https://github.com/shrinerb/shrine

Use "shrine-s3" name for Tempfile instead of "s3"

a8d78a1d49fa4a8ad13779a0a30713ebdedbdaa4 authored almost 8 years ago by Janko Marohnić <[email protected]>
Access the access_key_id via the S3 client config

Fixes #149

4cc08f4c98a67bef0356fed644e5ecc431fd65d0 authored almost 8 years ago by Janko Marohnić <[email protected]>
Add Storage::S3#client, and deprecate #s3

We currently expose Storage::S3#s3 as the only way to retrieved the
configured Aws instance, in ...

9fc34fd11359e52d4d604b4890d9fb963c95e10e authored almost 8 years ago by Janko Marohnić <[email protected]>
Add CHANGELOG entry to the previous commit

856466eeff209594803a41389db2610b92dad187 authored almost 8 years ago by Janko Marohnić <[email protected]>
Link "Upload Files With Rails and Shrine" post

8ae45913c969615ee209e6c704b12ea074bb2aea authored almost 8 years ago by Janko Marohnić <[email protected]>
Link shrine-google_cloud_storage gem

0f84b45616fa355b9732953783cc81ce68d6330b authored almost 8 years ago by Janko Marohnić <[email protected]>
Make delete_raw plugin delete any #path objects

The delete_raw plugin was intended and documented to delete any file
objects that are uploaded. ...

5d7f66b999d89caa93cd5da88427ab4fa463a232 authored almost 8 years ago by Janko Marohnić <[email protected]>
Make deprecation warnings more visible

Plain deprecation message can easily get lost in other logs, so we
emphasize the deprecation war...

f7b61f54e18fb0003cbcc7fd60f3134b16aaa90c authored almost 8 years ago by Janko Marohnić <[email protected]>
Updates documentation wording

This file is about migrating from Paperclip to Shrine.

In one sentence, however, documentatio...

fe29f628b35f7971b038d96363010ca8c3c0dcac authored almost 8 years ago by Daniel Powell <[email protected]>
Use consistent syntax in .travis.yml

e504409f46dc29fd376faad236eb0ab2462ba022 authored almost 8 years ago by Janko Marohnić <[email protected]>
Fix Travis CI on jruby-head

88edc193f88f78de2f1e955a3fbaee43ebfb63b4 authored almost 8 years ago by Janko Marohnić <[email protected]>
Add per uploader usage in backgrounding docs

Fixes #139

4b49a405190c12175313970d0104f7a6cd1f9c69 authored almost 8 years ago by Janko Marohnić <[email protected]>
Improve tests for validation_helpers plugin

The only way to make sure that all features are working each validation
method is that we write ...

ce12fc62069e578f110bb9e7ef4f01fa6d7d7d48 authored almost 8 years ago by Janko Marohnić <[email protected]>
Add Ruby 2.4 to Travis config and update versions

289ca4124af8164839bd63cee1df4cd0af679fd6 authored almost 8 years ago by Janko Marohnić <[email protected]>
Require Tempfile standard library in lib/shrine.rb

We are using Tempfile in `UploadedFile#download` in lib/shrine.rb, but
we weren't requiring the ...

b3a016d898177427697468f3081e731456042b18 authored almost 8 years ago by Janko Marohnić <[email protected]>
Clarify in "Quick Start" the ORM plugin choice

Fixes #131

07f4c90f63af0c5479ecf47b86db541964343041 authored almost 8 years ago by Janko Marohnić <[email protected]>
Rename some JavaScript variables in the demo

1ba22ea93e63248222a88a6bd2d19eca3cd6206e authored about 8 years ago by Janko Marohnić <[email protected]>
Small text fix on validation_helpers.rb

09251a385694a4f25e12cf827099e5fb4d677fb1 authored about 8 years ago by Bruno Wego <[email protected]>
Rails YAML fixtures cannot be used with Shrine

Fixes #117

38714e32bde27551f2fbbd80bfdd63570c35a713 authored about 8 years ago by Janko Marohnić <[email protected]>
Deprecate dimensions validations passing when dimension is nil

If someone uploads a malformed image for which extracting dimensions
fails and remains nil, we d...

c8e22b8231ea3a510e809aa0509ded24346a9b59 authored about 8 years ago by Janko Marohnić <[email protected]>
Deprecate regexes in format whitelists/blacklists

Shrine currently supports regexes in type/extension
whitelists/blacklists in `validation_helpers...

56807e8a46bc7ae8daa5a251b5516edc807435ae authored about 8 years ago by Janko Marohnić <[email protected]>
Exclude blacklisted types/extensions from message

Blacklists are normally used for uploads of files that would be
malicious to the storage. In thi...

0b50ed42367e6f497f56ff08b6391655a8481e86 authored about 8 years ago by Janko Marohnić <[email protected]>
Improve default validation_helpers error messages

aaf4234edb649d8a0e5e17f20ba1759968653524 authored about 8 years ago by Janko Marohnić <[email protected]>
Implement logging plugin without Benchmark

There is no need to load the Benchmark standard library only for using
`Benchmark.realtime` - we...

a871a431729978cfbc775917eebca3919edd050e authored about 8 years ago by Janko Marohnić <[email protected]>
Remove only new attachments in remove_invalid plugin

The purpose of the `remove_invalid` plugin is to remove new files that
have been uploaded by the...

f7733ab862752c8e0573d2e0efc129068b517d44 authored about 8 years ago by Janko Marohnić <[email protected]>
Don't dirty attacher in Attacher#set when attachment hasn't changed

Previously this logic was in Attacher#assign, because historically the
way that you would handle...

a04738a6fa014423cdba9b1b1c486b35b8e0df6f authored about 8 years ago by Janko Marohnić <[email protected]>
Rename Attacher#attached? to Attacher#changed?

The Attacher#attached? method returns whether the attachment has
changed, in other words when th...

a7c36c9da34079421bfb500f719b9fc731cbca74 authored about 8 years ago by Janko Marohnić <[email protected]>
Add a missing CHANGELOG entry

50ce05ae842a8ff9ab5087d70ca232b66c3215c0 authored about 8 years ago by Janko Marohnić <[email protected]>
Allow calling Attacher#finalize when attachment hasn't changed

The ORM plugins call `Attacher#finalize` under the condition that
`Attacher#changed?` returns tr...

b687ce3ad81ac3ad47c4bc947d3f0048a677a66f authored about 8 years ago by Janko Marohnić <[email protected]>
Make Shrine::Storage::S3#object public

This makes it much easier to fetch the S3 object for custom logic.

976d6baca31cce62f833500aecc5961a94171f74 authored about 8 years ago by Janko Marohnić <[email protected]>
Split slow test into two faster tests

Running Shrine::Storage::Linter is slow, since it tests each storage
method. Because we are runn...

c34e882026ce9a4027b5abbb91d29d8373aa0e95 authored about 8 years ago by Janko Marohnić <[email protected]>
Eagerly autoload "S3" component from aws-sdk

As explained in [0], aws-sdk autoloads its components to keep the load
time low. That isn't enti...

6e70d23c3368436830e1dac008c183d66e1b8f64 authored about 8 years ago by Janko Marohnić <[email protected]>
Fix incorrect `assert_nil` call in tests

d41496db150ce31682ed55e2b14e9d16a525acd4 authored about 8 years ago by Janko Marohnić <[email protected]>
Updated all tests to new assert_nil format

f855aca252913259f168ebc75e0723c350ea4e3a authored about 8 years ago by Hal M. Spitz <[email protected]>
Raise error when #generate_location returns nil

Since user can override `Shrine#generate_location`, it can happen that
due to a mistake in writi...

0b57f5dad9a3be34335198ae3db1bd4c02c40364 authored about 8 years ago by Janko Marohnić <[email protected]>
Bump to 2.5.0

90b9a4ed301ff778a6b65b51766ff058fca915c9 authored about 8 years ago by Janko Marohnić <[email protected]>
Add Attacher.default_url for declaring default URL

Previously the way to declare the default URL was

plugin :default_url do |context|
# ...
...

ca07718940f9cf9f54ee94eb74161bfa48b68f9e authored about 8 years ago by Janko Marohnić <[email protected]>
Allow uploaders to accept Rack uploaded files

Previously loading the `rack_file` plugin would enable the attacher to
accept Rack uploaded file...

7036e8ecf0cf2db5ebae164ff1e54972a13b1742 authored about 8 years ago by Janko Marohnić <[email protected]>
Mention :upload_options uploader option in S3 docs

07d6338ab78538b6fed615b3fe678cf7436f7aaf authored about 8 years ago by Janko Marohnić <[email protected]>
Add tip how to extract metadata in the background

7996cf887868ff64e92613b976389cefa858e998 authored about 8 years ago by Janko Marohnić <[email protected]>
Detect when two versions point to same IO object

Sometimes it can happen that, due to a mistake in writing the processing
code, a hash of version...

b05a0f7c387883e8e9c792588a8393f498a89a9c authored about 8 years ago by Janko Marohnić <[email protected]>
Add changelog entry for previous commit

edbc3b07681c30f9ebdbda51edd4316c1a653d76 authored about 8 years ago by Janko Marohnić <[email protected]>
Support plain models in backgrounding plugin

Previously the backgrounding plugin only worked for model instances that
represent database reco...

9928a02519009fcc43958f391966f5a078cf3d33 authored about 8 years ago by Janko Marohnić <[email protected]>
Improve backgrounding documentation

f01e820127adcba37be1910c63ffde9537a74147 authored about 8 years ago by Janko Marohnić <[email protected]>
Fix a flaky test

42a433190c0fcb1fa99472ff5dacb67623e630b2 authored about 8 years ago by Janko Marohnić <[email protected]>
Return whether validation succeeded in validation helpers

Sometimes we want to do certain validations only if another validation
was successful. For examp...

00d45d3d81354e387be74e09a1b05be8fec9a6bf authored about 8 years ago by Janko Marohnić <[email protected]>
Extract adding validation error into `#add_error`

c9681b883331138d275b6e9989a66bb904591900 authored about 8 years ago by Janko Marohnić <[email protected]>
Link "Processing" and "Metadata" posts on website

1b6daf3a597ac932194d744f93b57c4b84e5a8eb authored about 8 years ago by Janko Marohnić <[email protected]>
Write "Multiple Files" guide

46ce1fc308ef155a4583a2e0c17758b87a233ba8 authored about 8 years ago by Janko Marohnić <[email protected]>
Use Down.download instead of S3#download in tests

In Shrine 3 the Tempile returned in S3#download won't have
`#content_type` anymore, so we should...

1a3444a2906f32371b51c0bda37221d57cf16d9f authored about 8 years ago by Janko Marohnić <[email protected]>
Add tests and changelog entry for previous commit

8a8bf559d232eb8093db00fd7a9577e0b18b5d2e authored about 8 years ago by Janko Marohnić <[email protected]>
Validate extensions case insensitive

a062068a0b396763f1fe331b318955eaa5c6810b authored about 8 years ago by Jonas Heinrich <[email protected]>
Prepend "@" to GitHub usernames in CHANGELOG

87ce874a9f71bc02bb93a17c34a3383db4a90248 authored about 8 years ago by Janko Marohnić <[email protected]>
Un-dirty the attacher after removing invalid file

The point of `remove_invalid` plugin is, when the assigned file is
invalid, to deassign the file...

e9fb67fe43880e6582c9bca330518e6b1fb10e9a authored about 8 years ago by Janko Marohnić <[email protected]>
Raise error if UploadedFile received invalid data

It can happen that someone sends a JSON representation of the uploaded
file with a key missing o...

f9b9908369342e43bf8fcae766ea409909a1e0ed authored about 8 years ago by Janko Marohnić <[email protected]>
Update bin/test-versions with latest Ruby 2.2.x

e5d43fbe8fba3d057c80ac66784737eaa9898634 authored about 8 years ago by Janko Marohnić <[email protected]>
More documentation improvements

c503106eecfc9dec3c67d05bc7f0bff0b8559d45 authored about 8 years ago by Janko Marohnić <[email protected]>
Link latest GoRails screencast about backgrounding

4729e6d8dac77c9bbccfd25af7ecb9e0642ec9bf authored about 8 years ago by Janko Marohnić <[email protected]>
Fixes, tests and changelog for previous commit

aee0f3c9a10abfa6cf7ae92089680092cd708fe8 authored about 8 years ago by Janko Marohnić <[email protected]>
Add dot to file extension when missing

2775ec25c126b3e260aebf8c210ef16ec80e11a3 authored about 8 years ago by Jonas Heinrich <[email protected]>
Allow disabling fallback to original with versions

When versions are processed in a background job, requesting the version
URL via `Attacher#url` b...

8b045145051139046192aad740d8f73b780d671a authored about 8 years ago by Janko Marohnić <[email protected]>
Reword tasks that `Shrine#upload` does

c517e594e3fea1e9e0b87c2f914820fd053d45c2 authored about 8 years ago by Janko Marohnić <[email protected]>
Use same id for deleting missing files in linter

Using a custom id generated by `SecureRandom.hex` breaks tests for
GridFS storage, since Mongo r...

ea49cb7e61df247b3bd9a806205be7454ab8a4df authored about 8 years ago by Janko Marohnić <[email protected]>
Fix FileSystem#download method

After we deprecated this method, the storage linter wasn't testing it
anymore, so our tests didn...

2b193ff3c27bc78b04fad0294d02a46d22d9fbb3 authored about 8 years ago by Janko Marohnić <[email protected]>
Allow extracting multiple custom metadata at once

Some tools extract multiple metadata values at once (streamio-ffmpeg,
MiniMagick etc). Previousl...

ebeea22654185a97cb80ee9044c65518da650fb3 authored about 8 years ago by Janko Marohnić <[email protected]>
Add #dimensions to UploadedFile in store_dimensions

We add #dimensions method to UploadedFile just as a convenient way of
fetching both dimensions a...

864528eac0c3182f6c553b227535901d69b682c6 authored about 8 years ago by Janko Marohnić <[email protected]>
Improve `restore_cached_plugin` explanation

ea3e106238cded01756f19b62cd530eb6e025433 authored about 8 years ago by Janko Marohnić <[email protected]>
Improve upload_options plugin tests

ce5e2a16b5d347b2b64f9f21960ba2a043338d72 authored about 8 years ago by Janko Marohnić <[email protected]>
Rewrite the README

ed7c7b65ee39374d3b7fa21fafd54be858568035 authored about 8 years ago by Janko Marohnić <[email protected]>
Add more demo apps to the website

a88bfb4fd52bb9f5a43438e511f7b7f3f9ba0c9d authored about 8 years ago by Janko Marohnić <[email protected]>
Tweak description of remove_invalid plugin

00efae8a39326e8b838bd2ab859b274df1ad3a13 authored about 8 years ago by Janko Marohnić <[email protected]>
Bump to 2.4.1

fea4b245f66208b1256274cbd2c4db10a96cf996 authored about 8 years ago by Janko Marohnić <[email protected]>
Perform JSON conversion in #_set instead of #write

Prior to version 2.4.0, the JSON conversion of data was performed in
Attacher#_set. In Shrine 2....

99bd4677abb95a6cd68e239bf005f50082aae7c8 authored about 8 years ago by Janko Marohnić <[email protected]>
Use Attacher#cached? in remove_invalid plugin

No other reason other than that it's shorter.

c5ca7449bfb4cb0da7601e1189ba7603ed24be09 authored about 8 years ago by Janko Marohnić <[email protected]>
Make remove_invalid bring back previous attachment

Previously if the assigned file was invalid, it would get deleted and
`nil` will get assigned in...

1aa0ae45063e7894c8a9b2f5ebf975f2028fd3f0 authored about 8 years ago by Janko Marohnić <[email protected]>
Minor fix in the last release notes

fa23d77840ba0d1722e3518776fc8d3fe4bb859d authored about 8 years ago by Janko Marohnić <[email protected]>
Update FileSystem docs not to use ActiveSupport

88921f8fc7fe7a5a56a01722d06ca9ba27b25d9e authored about 8 years ago by Janko Marohnić <[email protected]>
In class RDocs link to containing files on GitHub

Currently each class RDoc file is linking to the containing file RDoc,
which is always empty. Th...

8a361a7c2e5d3edcc591a3b5e1bf75a2558fd94f authored about 8 years ago by Janko Marohnić <[email protected]>
Remove unused Rake task

I've never managed to automatize website publishing via `git subtree`. I
probably will at some p...

4c570179338fc39ee4c32d388a7cc877128ce58f authored about 8 years ago by Janko Marohnić <[email protected]>
Fix minor test typos

ad88400189a81145730bb989a0133adc42bfc879 authored about 8 years ago by Janko Marohnić <[email protected]>
Don't use Down in Storage::FileSystem tests

We don't need to use it, we can create an empty Tempfile directly.

5396d29825444b0b317e452bea2552471acf2348 authored about 8 years ago by Janko Marohnić <[email protected]>
Deprecate Storage::FileSystem#download

Since UploadedFile#download implements its own downloading (which is
behaviourally equivalent to...

d6bfcb7ee64e622326c85de59130623754092392 authored about 8 years ago by Janko Marohnić <[email protected]>
Use #extension for Tempfile in #download

This also accounts for the case when #id doesn't have an extension, but
\#original_filename does.

02ec8ee617b500af608d9571d0fdef932038886d authored about 8 years ago by Janko Marohnić <[email protected]>
Explicitly write out core classes on website

1ac07ca3a111c5cdf51b2caf2dc0af077725d082 authored about 8 years ago by Janko Marohnić <[email protected]>
Improve ORM plugin tests

ae3b4ac6641cd7fef5c83dbd22c6cc866d5200a6 authored about 8 years ago by Janko Marohnić <[email protected]>
Remove tests for JSON column support

They aren't useful because they aren't actually testing that the plugins
support these columns i...

20d8716495de0e4a25e90448f4e5f55d6355921b authored about 8 years ago by Janko Marohnić <[email protected]>
Update the fixtures testing advice

* We convert the data URI to the base64 format, because inserting binary
data into a UTF-8 str...

c3b1a25bf124309a7ebccf8e06d29fd24fafd650 authored about 8 years ago by Janko Marohnić <[email protected]>
Prepare for 2.4.0

f93cbfe7ed24e4ccb02256f216bc29052f302673 authored over 8 years ago by Janko Marohnić <[email protected]>
Add missing CHANGELOG entries

9eb3b6a47533b8d8bc55da0c9d924611ff259106 authored over 8 years ago by Janko Marohnić <[email protected]>
Write "Testing with Shrine" guide

e06e00df98bc5db7b0bd3b704afebf0244cb15be authored over 8 years ago by Janko Marohnić <[email protected]>
Add GoRails screencasts to the website

ad10882af85a9bd973926f487d1a05a720914302 authored over 8 years ago by Janko Marohnić <[email protected]>
Improve some bits of the documentation

76d82e6182b7a9533f35ebbe8f535953ca086f75 authored over 8 years ago by Janko Marohnić <[email protected]>
Improve the conversion logic from previous commit

* `convert_data_write` and `convert_data_read` have been renamed to
`convert_before_write` and...

e2d52a622e582a6d81e4ce76fb386828eb3b654a authored over 8 years ago by Janko Marohnić <[email protected]>
Extract conversion logic to "data layer" plugins

2a2ed73fe12088218e53e6e720d0464dd27bb99b authored over 8 years ago by Vladimir Lyzo <[email protected]>
Extract attribute name into Attacher#data_attribute

This allows users to change the attribute on the model instance that
will be used for storing in...

d097892e7cec0de46cdd8b8ab1266cc1c333d863 authored over 8 years ago by Janko Marohnić <[email protected]>
Ensure appropriate error when column is missing

We want to ensure that we're nowhere assuming that a column is in fact
present, and that we're l...

4a4cd3c2662faeb0f330ec18b2a7caac979fa8fc authored over 8 years ago by Janko Marohnić <[email protected]>
Support JSON Postgres columns with ActiveRecord

Unlike Sequel, which accepts values as JSON strings on a JSON/JSONB
Postgres column, ActiveRecor...

40b948429dd5d0ff7efd55b769e9cb9e653547a7 authored over 8 years ago by Janko Marohnić <[email protected]>
Require only cgi/util.rb instead of whole cgi.rb

For escaping/unescaping it's enough to require just cgi/util.rb, so we
can save memory and load ...

24ab1362265128e41a70be643dd9d88b7d9e4160 authored over 8 years ago by Janko Marohnić <[email protected]>
Don't let CGI encode spaces into pluses

10e1b73ece8eb047775a604ceba45d002f73153d authored over 8 years ago by Janko Marohnić <[email protected]>
Handle " in filenames in S3 Content-Disposition

Filenames can have double quotes, which clash with the double quotes in
the Content-Disposition ...

3d11f4f4828e63d75cb1bdb9bfc954f0444d21fb authored over 8 years ago by Janko Marohnić <[email protected]>