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

Emphasize development dependencies in CONTRIBUTING

Fixes #28

bfc43d67aff4b6e25278a4363f7051816cc589be authored about 9 years ago by Janko Marohnić <[email protected]>
Prepare for version 1.1.0

39b7bd93f720f203b48d04ad8c2d522e5df7517e authored about 9 years ago by Janko Marohnić <[email protected]>
Advise passing context in file migrations

7d622dc97bd96b065546d9d41170f91c36944882 authored about 9 years ago by Janko Marohnić <[email protected]>
Rename "background_helpers" to "backgrounding"

The new name more concisely and accurately describes the plugin, because
the plugin also changes...

4b954295a2774d9a7fcc4963a800e8a1083ffe2a authored about 9 years ago by Janko Marohnić <[email protected]>
Limit remove_invalid plugin only to cached files

Not limiting removing only to cached files can cause stored files to get
deleted if validations ...

da2923c428bbffd7d7881cd1a8dfda9c3dfe6b6b authored about 9 years ago by Janko Marohnić <[email protected]>
Rename :subdirectory to :prefix on FileSystem

"Subdirectory" never did sound quite right and was too long, and
"prefix" is consistent with the...

ae1a1606871c1b2040a4684cebaf0844289a7eca authored about 9 years ago by Janko Marohnić <[email protected]>
Add download_endpoint plugin

f25c742032f159c8a084776716ce1c42073cab06 authored about 9 years ago by Janko Marohnić <[email protected]>
Swap rack-test with rack-test_app

Because rack-test_app is awesome and maintained.

b452c2c3710dab09ac71b256bff2fe72be2b42d9 authored about 9 years ago by Janko Marohnić <[email protected]>
Add note about customizing the upload endpoint

55cb60f20fca2946eb3f29d0330c3067fd75cd03 authored about 9 years ago by Janko Marohnić <[email protected]>
Correct documentation

Firstly, it's not "Fastimage", it's "FastImage", and secondly,
`FastImage.size` returns the dime...

90013e7f5ded591e0fcfa95ed620e8c26abaf727 authored about 9 years ago by Janko Marohnić <[email protected]>
Add test for deleting underlying Tempfile on close

d0eaa190ca75490b279b990e9e4441eeb57ba34a authored about 9 years ago by Janko Marohnić <[email protected]>
Small refactoring for simplicity

This does introduce a small backwards incompatibility if people were
relying that :name and :rec...

7dbd8fd05cdd08fff06fabc759dabe68cde8cd4d authored about 9 years ago by Janko Marohnić <[email protected]>
Don't assume the Tempfile constant exists

It is very unlikely that Tempfile won't be required, especially since
Rack requires it, and most...

964eff59e2bfaf626bc9e4fc143a0751a5850487 authored about 9 years ago by Janko Marohnić <[email protected]>
The "size" metadata is needed in direct S3 uploads

cf02a253410784b23f0d23a60464d52b222bb0b1 authored about 9 years ago by Janko Marohnić <[email protected]>
Don't load the halt Roda plugin in direct_upload

This is a fair amount of extra code which isn't necessary to load,
because we can still achieve ...

1e5f266533451518c6fa02a8c0c00f294ac78205 authored about 9 years ago by Janko Marohnić <[email protected]>
Return the result in around_* hooks

Currently the return value of calling around_* hooks would be whatever
was returned in the corre...

bcba0734d964cbbeb196d0289381fe6493d95e52 authored about 9 years ago by Janko Marohnić <[email protected]>
Make direct endpoint customizable and inheritable

Currently we exposed only the generated Rack app, which is a Proc
object. This had several probl...

7bbd08b39fd559eae4fd25857d5bddc482010e2e authored about 9 years ago by Janko Marohnić <[email protected]>
Random improvements

1f4de0494f7dc692196aa50b48bc76e486b3ddc0 authored about 9 years ago by Janko Marohnić <[email protected]>
Improve documentation direct S3 uploads

310d8edbc10a4f24ad064a80cba3c63e65d26570 authored about 9 years ago by Janko Marohnić <[email protected]>
Update the guides with default_url change

a6160b79b926931144446bb5d3c76b93bb434316 authored about 9 years ago by Janko Marohnić <[email protected]>
Add upload_options plugin

688a2d28df82a6f85a9e8cec3d45e31d38ef9a25 authored about 9 years ago by Janko Marohnić <[email protected]>
Allow content hash to be modified

No reason to make it frozen, that may be use cases where you would want
to modify the hash, for ...

41d1a056a334ac7b0aae7cf4480f7ca46afbb0e5 authored about 9 years ago by Janko Marohnić <[email protected]>
Add section about FileSystem and Heroku

f4df199f4e9f56f950fff4b1050285103b67f8d9 authored about 9 years ago by Janko Marohnić <[email protected]>
Avoid unnecessary string allocation in S3#read

`object(id).get.body` is a StringIO, so instead of returning a copy of
the underlying string, we...

b33ff011547d8b0d1b9af23934647ac3a85fa1fb authored about 9 years ago by Janko Marohnić <[email protected]>
Expand guides on 2 columns in the website

f1c8e59af0f5f97b6d9ea3b5eae8e9ed5ac73a08 authored about 9 years ago by Janko Marohnić <[email protected]>
Link GridFS storage and Lotus example app

d3798fc8278e4ee62b7868686d71343957d0ad71 authored about 9 years ago by Janko Marohnić <[email protected]>
Bump up "down" dependency to ">= 1.0.5"

The latest version didn't download the file in an optimal way. Down
works in a way that it first...

39e26f4570059995ede133c0a7f7b71d803fe937 authored about 9 years ago by Janko Marohnić <[email protected]>
Return extension from filename if ID doesn't have

Some storages generate their own ID on upload (SQL, Flickr, GridFS) in a
way that the extension ...

6b86241695e9d5e4ed5a611b53c795eb5dc21f12 authored about 9 years ago by Janko Marohnić <[email protected]>
Delete internal Tempfile when closing UploadedFile

If the underlying storage implements `#open` by creating Tempfiles, when
the UploadedFile is clo...

438b170b39b0270c5bf307049459df7b28aafda4 authored about 9 years ago by Janko Marohnić <[email protected]>
Fix background_helpers not working with ActiveJob

ActiveJob raises an error when we try to give it a symbol (unlike other
backgrounding libraries ...

73062fbb3507459a57612478d58627ff5e346c8d authored about 9 years ago by Janko Marohnić <[email protected]>
Use Storage#read in data_uri plugin, add #base64

The most efficient way of retrieving the contents of the file is to use
Storage#read, because fi...

bfe103c1f341631a190a30b7f8ddd7de58e2f37a authored about 9 years ago by Janko Marohnić <[email protected]>
Require "stringio" in the data_uri plugin

31e6fc9cde76692709a5fbd564cfdeadb52194e9 authored about 9 years ago by Janko Marohnić <[email protected]>
Add note about the aws-sdk gem in the README

903b8bf637dd42a7708d6eb88dad066eb9ff9194 authored about 9 years ago by Janko Marohnić <[email protected]>
Make S3#multi_delete code more elegant

9d54974295c4a9e510052aecf5f70e9035c18353 authored about 9 years ago by Janko Marohnić <[email protected]>
Allow setting S3 upload options per upload

For example, a user can want to apply different S3 options to different
versions (e.g. setting `...

41ec07cb89c358415501f720f5e6fe23f9cda1f3 authored about 9 years ago by Janko Marohnić <[email protected]>
Rephrase backgrounding part

91781cd2839ed68d241c288d80049dba52178673 authored about 9 years ago by Janko Marohnić <[email protected]>
Update ActiveRecord template with loud callbacks

d1a02c5be0dce839a32369de11145df3a4bb3f4d authored about 9 years ago by Janko Marohnić <[email protected]>
Add delete_uploaded plugin

27b316ffdb3aae5c7a090f109551184c0ed7c73f authored about 9 years ago by Janko Marohnić <[email protected]>
Fix tests for logging plugin

c6fb52c16e2e2dac064113389ef43084bb3c5267 authored about 9 years ago by Janko Marohnić <[email protected]>
Improve documentation

b0e8723b1752f8f972d4eb248022dc36c9c2a927 authored about 9 years ago by Janko Marohnić <[email protected]>
Shorten the backgrounding readme section

5efbb5df9d2889e45a22c830be1252d196e9edf1 authored about 9 years ago by Janko Marohnić <[email protected]>
Fix the Amazon S3 URLs

e430e4d54acf636b8993a45e89b3136797a117a2 authored about 9 years ago by Janko Marohnić <[email protected]>
Link rest of the newly created storages

ea1a64229f57564409ecae63135b1f3281ba9328 authored about 9 years ago by Janko Marohnić <[email protected]>
Make linter register id changes

Some storages modify the id after uploading, so we make the linter
register it.

0a26a6e03ffe199db1e45d14f961be3d08a5672c authored about 9 years ago by Janko Marohnić <[email protected]>
Close file descriptor after downloading FileSystem

950ac39d9a9dda9c8d9fcc5ae6e6d9866fd7ef0d authored about 9 years ago by Janko Marohnić <[email protected]>
Mention the Windows equivalent of the file utility

04c934ef48cb4f27133672b11ae2f39ef709fd15 authored about 9 years ago by Janko Marohnić <[email protected]>
Bump Down dependency to ">= 1.0.4"

Versions older than that leave an extra opened temporary file when
downloading a URL.

d479e26508690060d04d88f1a503224446934992 authored about 9 years ago by Janko Marohnić <[email protected]>
Recommend setting :host for FileSystem in prod

4caf5d11c47d8a90585ece3ea68d1580a693c59b authored about 9 years ago by Janko Marohnić <[email protected]>
Make FileSytem#url compatible with Windows

We shouldn't use `File.join` to connect host with the path, because on
Windows this will generat...

e677c499110a4ac7b04acf9ff3b288010952bc15 authored about 9 years ago by Janko Marohnić <[email protected]>
Update the "Creating a New Storage" guide

07bc79b80e938a42ee04d7475703f73fb2eb3818 authored about 9 years ago by Janko Marohnić <[email protected]>
Add UploadedFile#content_type alias to #mime_type

This is for better integration with upload libraries such as Faraday and
rest-client, which sear...

8069407ebb004c843fac917b0339c75c2544b352 authored about 9 years ago by Janko Marohnić <[email protected]>
Write a "Shrine for Refile Users" guide

8df3658176a2d362823fc4702773e03ea9dee223 authored about 9 years ago by Janko Marohnić <[email protected]>
Add UploadedFile#data_uri to data_uri plugin

If files are local and small, sometimes it is more performant for the
browser to render them as ...

53824e5322950abd5399d42b925749e6730aa379 authored about 9 years ago by Janko Marohnić <[email protected]>
Allow data_uri plugin to accept "+" in MIME type

For example the MIME type of JSON API specification,
"application/vnd.api+json", has a "+" in it...

6b1fae29311c69184437d31871477c2ad06dc4b3 authored about 9 years ago by Janko Marohnić <[email protected]>
Make data_uri plugin accept non-base64 data URIs

Data URIs doesn't have to be base64 encoded (common example are for
SVGs), and we want the data_...

8e041686899b433e28e2a268bc33980650b8072e authored about 9 years ago by Janko Marohnić <[email protected]>
Note in the readme that file is now closed

67d4d1d2dac449d92fd9ee1a42d17f33837fde97 authored about 9 years ago by Janko Marohnić <[email protected]>
Close all IOs after uploading them

It's strange that we're not doing this already. We want to always close
the files that we are up...

3a60a45313a137c26edd83fc5d5128030b1ea931 authored about 9 years ago by Janko Marohnić <[email protected]>
Linke FileSystem and S3 storages in the readme

e01cb94ba57104d05756b68718961d5ddcd73d0f authored about 9 years ago by Janko Marohnić <[email protected]>
Note that :host isn't only for CDNs

4ad4b2b9273d9c5500ec03a4495056f06131fe74 authored about 9 years ago by Janko Marohnić <[email protected]>
Small readme fixes

1fb9fea5a2e3886d23999fd27bbc0eebbd95ad29 authored about 9 years ago by Janko Marohnić <[email protected]>
Small refactoring

07dbdd9296c48e97153ac742efdba1fa00aed54a authored about 9 years ago by Janko Marohnić <[email protected]>
Don't fail rewinding if file is closed

Some uploaders (Cloudinary gem) automatically close the files after
uploading, and since we can'...

a5ff8e64cc0681209e0ef510714dae9259472cca authored about 9 years ago by Janko Marohnić <[email protected]>
Make Linter test #multi_delete as well

78a5f8c29e9a0773c2dedf27d20da4e8f04cee02 authored about 9 years ago by Janko Marohnić <[email protected]>
Small code style change

If a string or an array is given a range of indices which don't exist,
nil will be returned, whi...

c7c40bb6f793a230d8edc9448d4056b5d84694e4 authored about 9 years ago by Janko Marohnić <[email protected]>
Make Linter test moving as well

d6b48dfd4984683fb66dcbf590efa7aea64342d5 authored about 9 years ago by Janko Marohnić <[email protected]>
Make storage linter more flexible

Firstly we add the ability to pass a custom IO factory. This is because
some storages only accep...

cc1c968f615860d6386421bc62af6fba1eeb91d6 authored about 9 years ago by Janko Marohnić <[email protected]>
Allow passing a custom IO to the Linter

Some services like Cloudinary by defaul accept uploading only images, so
in the tests for shrine...

7df1cbdfd8b57aa3d8ecbde177d9920e9924c204 authored about 9 years ago by Janko Marohnić <[email protected]>
Add Sequel/ActiveRecord templates to CONTRIBUTING

937115c9b43a850235dabc4570dac4b85a7bf4ae authored about 9 years ago by Janko Marohnić <[email protected]>
Use the capitalized forms for guide titles

ba4ea05fae76135d81700edff8a2f48db98acde8 authored about 9 years ago by Janko Marohnić <[email protected]>
Add a "Securing uploads" guide

31b7a06979c78088555469e8b0a5e02101cf5b00 authored about 9 years ago by Janko Marohnić <[email protected]>
Add remove_invalid plugin

d434f46e8cbc54dd6cab45d6f59905a0bd946d52 authored about 9 years ago by Janko Marohnić <[email protected]>
Bring back the :max_size option in direct_upload

Security is about layers, this layer won't limit the filesize of files
uploaded with the form, b...

ab6e3b429c495918f8c6e03e7aaab5e663a5c089 authored about 9 years ago by Janko Marohnić <[email protected]>
Fix default_url deprecation and remove it in tests

We want to print deprecation warnings only of `#default_url` returns
something, because that's w...

b21a0cd1e6cadc8f28b7497888799019026f509e authored about 9 years ago by Janko Marohnić <[email protected]>
Write a "Changing location of files" guide

69f21eacb6d50163d1779e374cfd96037f96e6c2 authored about 9 years ago by Janko Marohnić <[email protected]>
Add a "Adding versions" section

b1b16d0ad0e21d00f6a0181d67b10a76e22f460e authored about 9 years ago by Janko Marohnić <[email protected]>
Move `Shrine#default_url` to default_url plugin

This is not essential functionality so we should extract it into a
separate plugin. The only iss...

a56dfe998ab12bab5e3a0f152a66c03e90197203 authored about 9 years ago by Janko Marohnić <[email protected]>
Complete the backup plugin

* We make backed up files deleted by default, unless `delete: false` is
passed in.

* We make ...

7d3a14474fbbbf3036430b9c0baf420e191bf550 authored about 9 years ago by Janko Marohnić <[email protected]>
Enable S3#multi_delete to delete > 1000 objects

1419ca1c4374a23dfde199a8819780ae3d45cd2d authored about 9 years ago by Janko Marohnić <[email protected]>
Fix documentation around removing a version

f6f4ecdcbcdb4b534c6fa7ff53bdd7653728eda5 authored about 9 years ago by Janko Marohnić <[email protected]>
Raise an error if :location is used with versions

We want to make sure that this never happens, both by the user or
internally, because that would...

594d7dc0f45514f85b32ebe71584970751ff2303 authored about 9 years ago by Janko Marohnić <[email protected]>
Add keep_location plugin

412263e0775aeff39de45890e7365242b3607dc2 authored about 9 years ago by Janko Marohnić <[email protected]>
Use the new shiny GitHub corner

98b18bc5d3ebbc924f24163801ca83f265f41113 authored about 9 years ago by Matija Marohnić <[email protected]>
Note that migration_helpers has to be loaded soon

63eb7c173b9a1ead7c3140e6633cd33b61d4a569 authored about 9 years ago by Janko Marohnić <[email protected]>
Add backup plugin

161a934e2066c0fbf0ae101853dd1aca5a3556f1 authored about 9 years ago by Janko Marohnić <[email protected]>
Add shrine-imgix to external storages

36aa6c1de7b48d57b2e43e5ba5040e26cca13757 authored about 9 years ago by Janko Marohnić <[email protected]>
Add shrine-fog to external storages

5c7c9b075a0ab4474d7ab4d1c6317c97504a4d79 authored about 9 years ago by Janko Marohnić <[email protected]>
Inline passing parameters to S3 storage

38909047a34e3c044f54ebd3f11e0183800e3bbc authored about 9 years ago by Janko Marohnić <[email protected]>
Remove dot in the subtitle on the website

5c1e73a6bf438a2823093366af183a15be6fd886 authored about 9 years ago by Janko Marohnić <[email protected]>
Remove unnecessary option in S3#presign

4f2b872d05e16e2da8a449b868d66eeb7ef9ec4e authored about 9 years ago by Janko Marohnić <[email protected]>
Note accepting uploaded files via JSON strings

5617e064675ad44e7afdfea9b05fde4621fd5889 authored about 9 years ago by Janko Marohnić <[email protected]>
Don't require that storages rewind the IO

Instead of requiring that every storage rewinds the file, we can make
Shrine itself always rewin...

b50687ac0b019eec3f1c868bee5a10a3b5617b8a authored about 9 years ago by Janko Marohnić <[email protected]>
Run linter on S3 with and without prefix

Now that we're not running tests on S3 anymore, we can remove the prefix
and we can now run the ...

7338351ddf656781b3ea709ec646d0c823b2f4d4 authored about 9 years ago by Janko Marohnić <[email protected]>
Add tests and changelog entry for previous commit

39c045174f49236041dd1cd3f2e53a21e4170e59 authored about 9 years ago by Janko Marohnić <[email protected]>
changed the presign call to use object(id) instead of @bucket

- it allows the usage of custom endpoints for presigning files

1f41cee5ac9273ec6192776020dc817d6ffe7f5f authored about 9 years ago by Razvan Ciocanel <[email protected]>
Make parallelize always work with moving

When the moving plugin does an actual move on the storage, the
parallelize plugin works fine wit...

c4228005ad35077cc515cbbaced200d748385f30 authored about 9 years ago by Janko Marohnić <[email protected]>
Add note about S3's eventual consistency

098e7dc5730fab464c2510a7565cc5604803b559 authored about 9 years ago by Janko Marohnić <[email protected]>
Small documentation improvements

721ee401412be790d50b288a89f1cdef3524cec9 authored about 9 years ago by Janko Marohnić <[email protected]>
Minor refactoring

b6941f51984b37dc991a8d7f03918bb9b9187c2c authored about 9 years ago by Janko Marohnić <[email protected]>
Use good ol' File.expand_path in the gemspec

We don't want to be doing anything clever there, this may not work all
the times, it's better to...

308fc7afb625a9e6ef043f96a46be20049f3fa1c authored about 9 years ago by Janko Marohnić <[email protected]>
Give directly passed presign options precedence

54c4e011addfe9484ec2498b9373f5cc742d8a22 authored about 9 years ago by Janko Marohnić <[email protected]>