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

Rename Attacher#column_value to #column_data

Attacher#column_data name much better indicates strong connection
Attacher#data. Attacher#column...

25583c7c425066a87cf8ed4a103fdbdcefc54e4d authored over 5 years ago by Janko Marohnić <[email protected]>
Add Shrine::Storage::Memory from shrine-memory gem

Shrine::Storage::Memory is something I use a lot, especially in
self-contained scripts where I d...

ec51daf84230bd1090a3c00cc20f8163a6670712 authored over 5 years ago by Janko Marohnić <[email protected]>
Tweak description of instrumentation plugin

It will not log only "expensive" operations, it will log specific
operations regardless of wheth...

fb8165343ad948f151b6222e228c963d59d23134 authored over 5 years ago by Janko Marohnić <[email protected]>
Rename default_url_options plugin to url_options

People have often missed that this plugin exists, and I think it's
partly because it's one of fe...

7c6d52a816f0efbcec48d28834024e67ab00b15f authored over 5 years ago by Janko Marohnić <[email protected]>
Move "Processing" section on the website higher

It's more important, so it should be higher.

19899a3831aca462dd6c65f51de796968e408a04 authored over 5 years ago by Janko Marohnić <[email protected]>
Deprecate delete_raw plugin in favour of derivatives

375f4a2e1d8b60c3cb13e523d56c3cd7f059471b authored over 5 years ago by Janko Marohnić <[email protected]>
Deprecate recache plugin in favour of derivatives

81e43c4c64a5281ba90d895c2345fd0d2290d960 authored over 5 years ago by Janko Marohnić <[email protected]>
Deprecate processing plugin in favour of derivatives

7a618ff499c5a3eee33f558b5b48507b968f440f authored over 5 years ago by Janko Marohnić <[email protected]>
Deprecate versions plugin in favour of derivatives

749e4c9b611e86292cb8f4de9cac86ba184de5d8 authored over 5 years ago by Janko Marohnić <[email protected]>
Add derivatives plugin

This is a reimplementation of the versions plugin. The versions plugin
had several problems:

* ...

0d1ae210ba99026a946ead879d83bbe443bc45ac authored over 5 years ago by Janko Marohnić <[email protected]>
Allow using string and symbol derivation names interchangeably

Ruby developers like to use symbols and string interchangeably, and
Shrine supports this reasona...

e9efbad452fc50a38aaec3f2b7c7476eebba2b1a authored over 5 years ago by Janko Marohnić <[email protected]>
Allow backgrounding block which evaluates inside Attacher instance

We want Shrine to be as convenient as possible to use. This can be a lot
to write:

Shrine::At...

1ab58bf72c6ac300ebabe1be31da72322230e568 authored over 5 years ago by Janko Marohnić <[email protected]>
Deep duplicate Shrine.opts on subclassing

Previously Shrine.opts was duplicated only one level in depth, which
means that plugins needed t...

c89b075036eaf33e46d4da25a8899ae876e95aa1 authored over 5 years ago by Janko Marohnić <[email protected]>
Add Attacher#file! for asserting attached file

Some plugins might need to ensure a file is attached before performing
some operation. So we add...

5ba48091a488d3310a1f1a09992f636e1006b2bc authored over 5 years ago by Janko Marohnić <[email protected]>
Don't store :log_subscriber to plugin options

There is no need to store it, as it's used only at time of
configuration. This simplifies option...

78273ea4ed583d840a06a962b0a69a9880a96155 authored over 5 years ago by Janko Marohnić <[email protected]>
Use symbol keys when creating uploaded files in s3_test.rb

This is possible as of recently, and it obviously looks nicer than
string keys.

f0c0c9494f2a54fdfb02bb4eb9575ed75e89c59e authored over 5 years ago by Janko Marohnić <[email protected]>
Fix AR backgrounding integration test in JRuby

We have to work around Active Record's bad connection pool
implementation, which ties connection...

f481ef9db4d3b80176338f8bf401f0bbe991ada5 authored over 5 years ago by Janko Marohnić <[email protected]>
Update entity/model docs to make them less like reference

The API docs should serve as a method reference, plugin documentation
should be more high level.

8af6f377f7e37f812a95a74d4c77b46b6832830f authored over 5 years ago by Janko Marohnić <[email protected]>
Change Shrine.uploaded_file to raise ArgumentError on invalid input

That is more correct than a generic Shrine::Error.

264192ff6eb7d534791617e5b66d3380d3a967ae authored over 5 years ago by Janko Marohnić <[email protected]>
Default to permanent storage in Attacher#upload

The main storage in the Attacher is the permanent storage, the temporary
storage is just there t...

abc772f2a9c6dbc2a7544c32d9d1846a69c21003 authored over 5 years ago by Janko Marohnić <[email protected]>
Add test that Attacher#load_data supports symbol keys

We want to support the scenario when record data attribute value is a
symbolized hash, so we add...

1a1156b9cb7001e09c01569dd4608bab9811cbec authored over 5 years ago by Janko Marohnić <[email protected]>
Add tests that keep_files plays well with backgrounding

One of the reasons why we've split Attacher#destroy_attached and
Attacher#destroy is so that we ...

fa785a1e895670f55eb94147b6b5f52a6deaf91b authored over 5 years ago by Janko Marohnić <[email protected]>
Bring back default_storage plugin accepting dynamic block

This was removed in the big Attacher refactor, because entity/model is
loaded only after initial...

a660eebcd3a55fc678eca27e0e500c44a760c113 authored over 5 years ago by Janko Marohnić <[email protected]>
Deprecate module_include plugin

This idea was taken from Roda, but I don't see any advantage in using
this plugin over overridin...

d0b69e3d797211154b73435bec090ff66936dd78 authored over 5 years ago by Janko Marohnić <[email protected]>
Link to "Serializer" section in column plugin docs

890c463096e3f5477719a15ea3c631ddefa3cae9 authored over 5 years ago by Janko Marohnić <[email protected]>
Improve "Writing a Persistence Plugin" guide

34d723ab2ab059e7818b8e34f4c06ac78942480f authored over 5 years ago by Janko Marohnić <[email protected]>
Reduce title size on GitHub

e5594c91bb75b751cdca5e9fb300fbdb28adef4c authored over 5 years ago by Janko Marohnić <[email protected]>
Document the model plugin

ab98716a2e96ef59684822910aea3a60862c2060 authored over 5 years ago by Janko Marohnić <[email protected]>
Test that private visibility is kept for #initialize_copy and #_refresh

d1d1a82d56424ca4a0993686e9bb1291939d0a09 authored over 5 years ago by Janko Marohnić <[email protected]>
Add Attacher#cache_key and Attacher#store_key

Sometimes people might want to return only the storage identifiers of
temporary and permanent st...

4988716eb2a023a59cdd3b5cda345b366e02363b authored over 5 years ago by Janko Marohnić <[email protected]>
Document the entity plugin

924d0afb22b6f0b4479f98c700226e901ee497aa authored over 5 years ago by Janko Marohnić <[email protected]>
Document the column plugin

098e0301922f5f1a7984916219e4e88f4742ef3f authored over 5 years ago by Janko Marohnić <[email protected]>
Use load/dump interface for column serializer

YAML, Oj, MultiJson, MessagePack and probably many other libraries
implement the load/dump inter...

f9d269a5d79081a32b91213e50d04d6ad171d92e authored over 5 years ago by Janko Marohnić <[email protected]>
Add guide for writing an ORM plugin

There are some conventions that are useful to follow when writing an ORM
plugin to make ORM plug...

5959241e498323fa41b261c567509cfd78e2b3a5 authored over 5 years ago by Janko Marohnić <[email protected]>
Add integration tests for database plugins + backgrounding

There are some decisions made in database plugins specifically so that
they work with the backgr...

f62facf6983bcf10d6a6f2f6eead4fa6fe016e3e authored over 5 years ago by Janko Marohnić <[email protected]>
Remove minitest-hooks

We're not actually using it, so it adds an unnecessary layer on top of
Minitest.

ef1affbcc341ff167ff37b2e891de7085cd4e2ff authored over 5 years ago by Janko Marohnić <[email protected]>
Update activerecord & sequel plugin docs

38589535c2d2e96f754b7e4c276dd8b4ffb0f8ce authored over 5 years ago by Janko Marohnić <[email protected]>
Delete stored file in the background on failed promotion

945943aa8be6966a4c6a3fcf808912553d9b4863 authored over 5 years ago by Janko Marohnić <[email protected]>
Categorize guides on the website

We have many guides that conceptually fall into different categories, so
we group them on the we...

4facd182e0b1a557c883af67162d0f338363e193 authored over 5 years ago by Janko Marohnić <[email protected]>
Document atomic_helpers plugin and list it on the website

8fdd95a21840f054c109722b6061e5eb634e0bdc authored over 5 years ago by Janko Marohnić <[email protected]>
Final plugin re-categorization

50d6b3f498a111268b71632c57a869750d8cb332 authored over 5 years ago by Janko Marohnić <[email protected]>
Add tests for :background option

68d38aa9b04fea0d8041ab5527e07f5bc56687fd authored over 5 years ago by Janko Marohnić <[email protected]>
Tweak plugin categorization some more

883b0f292073f3f00b2804463b25a5763e0639c3 authored over 5 years ago by Janko Marohnić <[email protected]>
Recategorize plugins on the website

I think the previous categorization was too focused on the type of
plugin, rather than the area ...

4dcac05ff91b64bd7e73a24c1e5d0c44efc1afac authored over 5 years ago by Janko Marohnić <[email protected]>
Bump JRuby to 9.2.7.0 on Travis CI

59bda83bdb4a7a8c9f579877cefa43a54de013f9 authored over 5 years ago by Janko Marohnić <[email protected]>
Fix error in MRI 2.3 in model plugin

MRI 2.4+ allows `nil.dup`, but in MRI 2.3 that still raises

TypeError: can't dup NilClass

So...

00c28feafdb8588571a161e399e5b4d48eac80c8 authored over 5 years ago by Janko Marohnić <[email protected]>
Override #_refresh regardless of :callbacks sequel plugin option

This override was unintentionally done inside the :callbacks
conditional, so we move it out.

4d6e74e562f7c226d4990a8960643b2bb214a07a authored over 5 years ago by Janko Marohnić <[email protected]>
Tweak some core tests

6ecfc5408fc202cb6faa37f72c1ce7ec0b1ddc33 authored over 5 years ago by Janko Marohnić <[email protected]>
Call Storage#open with options in the storage linter

Storage#open not accepting options will be deprecated in Shrine 3.0, so
we update the storage li...

0f62ea49a1abd1bd33e365b2fe2bae56d01bf496 authored over 5 years ago by Janko Marohnić <[email protected]>
Fix test failures

2edbd47e320ff04ac2cbf971b7f6f038ecdf5455 authored over 5 years ago by Janko Marohnić <[email protected]>
Show how you can set Rails.logger in instrumentation docs

ef9f9f5a86db7a9c7cab0933ca3d50acba37af76 authored over 5 years ago by Janko Marohnić <[email protected]>
Use background destroy again in remove_invalid plugin

This was accidentally removed after the big Attacher refactoring, but we
can easily add it back.

fc95a1208141713ae5646b550b847c9acda1eda3 authored over 5 years ago by Janko Marohnić <[email protected]>
Make versions plugin work with custom #process again and add more tests

People might still be overriding Shrine#process directly, and expecting
returning nil to be a no...

aacf624809878a5e2363155a1b57f681ca0bdc8a authored over 5 years ago by Janko Marohnić <[email protected]>
Add tests for #persist in ORM plugins

The #persist method will become a convention for ORM plugins starting
from Shrine 3.0, so we add...

f5bfec5339a28279c19f34738cda24f7d1fb2edb authored over 5 years ago by Janko Marohnić <[email protected]>
Return promoted file in Attacher#atomic_promote

This is consistent with Attacher#promote returning the promoted file.

3d0c2372ee2c5dbb28969d315db2204ea78e4e3a authored over 5 years ago by Janko Marohnić <[email protected]>
Fix inheritance in new backgrounding plugin

80abe5af03c719cb5ae670e64e3754fae73da94b authored over 5 years ago by Janko Marohnić <[email protected]>
Accept symbol keys in UploadedFile#initialize

It's useful to be able to instantiate an UploadedFile object directly
using symbol keys. This ma...

d9cd2a15efe70ac8983dae196647e3da5bc7c377 authored over 5 years ago by Janko Marohnić <[email protected]>
Change how UploadedFile initializes itself

We don't want UploadedFile implementation to couple to the exact data
hash that was passed in, s...

96db995d1e63e9b86279167d035aeccac4fc73f2 authored over 5 years ago by Janko Marohnić <[email protected]>
Deprecate Storage#open not accepting additional options

Supporting `Storage#open` that doesn't accept additional options
complicates implementation of S...

62d050e76b2145544fa36d89c0bea1253e5188c2 authored over 5 years ago by Janko Marohnić <[email protected]>
Remove extra line in restore_cached_data plugin

04e75787d89445e7561d6eea0f6492b0a36fd897 authored over 5 years ago by Janko Marohnić <[email protected]>
Add Attacher#refresh_metadata! method

When using the model plugin, the user will usually want to have file
data with re-extracted meta...

9f7b905ac5e8ee5ea3538c930129ab2c3726c9bf authored over 5 years ago by Janko Marohnić <[email protected]>
Instrument Storage#open separately

Previously we were sending a `download.shrine` event whenever
UploadedFile#open is called, which...

324ef7f664de80c7cdfa3847146fea03c36fb354 authored over 5 years ago by Janko Marohnić <[email protected]>
Update to shrine-memory 0.3.1

This allows Shrine::Storage::Memory#open to accept any additional
arguments, which is useful in ...

33504d63505fddd9089b9921445ecc21c35600b9 authored over 5 years ago by Janko Marohnić <[email protected]>
Fix Shrine::InvalidFile error message

This format was actually creating a newline, which I wasn't intended. So
we just inline it.

e7415d02786791eca853ab06a1c6a8d3bbaecce8 authored over 5 years ago by Janko Marohnić <[email protected]>
Reorganize instrumentation tests

c5497c4b245f050fba0314456cc9d6e2ff563021 authored over 5 years ago by Janko Marohnić <[email protected]>
Refactor validation plugin a bit more

32b0945e79cd57e300dec7710d163aba621ad72e authored over 5 years ago by Janko Marohnić <[email protected]>
Pass options from Attacher#attach_cached to restore_cached_data

People might want to pass additional options for metadata extraction on
assignment.

0a75b46693999af986de1c07916c29ba301c5695 authored over 5 years ago by Janko Marohnić <[email protected]>
Add attacher_options plugin for passing options to attacher operations

There are many different attacher operations that could take options:

* attaching to cache
* at...

5eb62f5bb6ee565cf0182cb05c3f90072fc07e7d authored over 5 years ago by Janko Marohnić <[email protected]>
Extract validation functionality into new plugin

The generic validation functionality from Shrine::Attacher has been
extracted into the new valid...

38962c9d2519cae5b7976ee6a44ff731619231f3 authored over 5 years ago by Janko Marohnić <[email protected]>
Improve Attacher#attach_cached tests

b22b468a860e1934ef93c2347431beae112aa3cf authored over 5 years ago by Janko Marohnić <[email protected]>
Fix one more test failure on MRI 2.3 and 2.4

13cbbf07c11a617f30047312b1955f389435cec3 authored over 5 years ago by Janko Marohnić <[email protected]>
Fix tests on MRI 2.3 and 2.4

Class#attr_writer is still private in those versions.

c43ffa9f2850f7a95e0a72cb6dec8f7f61fad42a authored over 5 years ago by Janko Marohnić <[email protected]>
Rewrite Shrine::Attacher with better layering

Problem
=======

Shrine::Attacher has been coupled to usage with mutable structs, which
is assoc...

b3fba16bb1d072384beac4f179cdc01a6a96b161 authored over 5 years ago by Janko Marohnić <[email protected]>
Fix activerecord plugin's after_commit callbacks to work in Rails 3. (#398)

* Fix activerecord plugin's after_commit callbacks to work in Rails 3.

Because the transactio...

d1d8361805518d7b71fb794fbde9fb7444d06a82 authored over 5 years ago by Aurel Branzeanu <[email protected]>
Remove delete_promoted plugin

This deletion will no longer be backgroundable with new backgrounding
API, so it doesn't pay off...

f6fd1b287514834530edca50ee1670063155e562 authored over 5 years ago by Janko Marohnić <[email protected]>
Remove parsed_json plugin

This functionality will be supported by default.

bcc2c5328f007a884fb6de15edc758fbc144544f authored over 5 years ago by Janko Marohnić <[email protected]>
Remove parallelize plugin

It relies on the removed hooks plugin. With the new derivatives people
will be able to paralleli...

aa522ddf8aa12c0282fdfb8b909c540e64ccf394 authored over 5 years ago by Janko Marohnić <[email protected]>
Remove hooks plugin

It's complicating the internal implementation, and it's not worth it
anymore, now that we'll hav...

e5a5a73a806e228e3a5d4abe3805bcf84087a4f0 authored over 5 years ago by Janko Marohnić <[email protected]>
Remove deprecated Shrine::IO_METHODS constant

5b8707a068a24f3f46f0ef485c6a74270a0b65fe authored over 5 years ago by Janko Marohnić <[email protected]>
Update default analyzer in infer_extension docs

ba0af8a5911d2627b8a654159cadc59d513e4fd1 authored over 5 years ago by Janko Marohnić <[email protected]>
Replace source object metadata when uploading an S3 file

By default, when copying an S3 object, the destination object will
retain any source object meta...

a2d2ad76c59039cce81559034eef905a2edf0017 authored over 5 years ago by Janko Marohnić <[email protected]>
Change UploadedFile#storage_key to return a Symbol

That's consistent with Shrine#storage_key which returns a Symbol as
well. And we also show using...

8d66c835495736b6201a10244a42b01079bceca1 authored over 5 years ago by Janko Marohnić <[email protected]>
Make :mini_mime the default extension inferrer

Capybara and Mail gem, both of which Rails depends on, switched from the
mime-types to the mini_...

0e12d0e3c7d71ed2beea8d90764578b2521ef690 authored over 5 years ago by Janko Marohnić <[email protected]>
Add back support for MRI 2.3

Even though Ruby 2.3 is EOL, people still on Rails 3.2.x are stuck with
Ruby 2.3, because Ruby 2...

fd4b914ea217aacfb9885d453f6c8babec05a502 authored over 5 years ago by Janko Marohnić <[email protected]>
Update tests after previous commit

5ed2719c93eda4010c394ecbeaacb099a94afc54 authored over 5 years ago by Janko Marohnić <[email protected]>
Remove deprecated version names from version plugin

8e8930d61fb61efb7d545c200fc5b4f98c882eff authored over 5 years ago by Janko Marohnić <[email protected]>
Remove support for regexes in MIME type and extension validations

04a613e49b5db45f46c814613a0fc8530f34e91e authored over 5 years ago by Janko Marohnić <[email protected]>
Fail dimensions validations when width or height are nil

15216aa7089d677ed3eb95369533ef63eb505be7 authored over 5 years ago by Janko Marohnić <[email protected]>
Remove deprecated Shrine::Plugins::UploadEndpoint::App constant

d3e7c85787aa3c75542f05d9bd0841da06b1ceb1 authored over 5 years ago by Janko Marohnić <[email protected]>
Remove Shrine#mime_type_analyzers method

c3121333ca6ddbdb7877241924e4f55a0db3eb0f authored over 5 years ago by Janko Marohnić <[email protected]>
Recommend logging only warnings in tests

6fd9e93355d854914d15c97d7dcc687a05fda486 authored over 5 years ago by Janko Marohnić <[email protected]>
Remove Shrine#extract_dimensions and Shrine#dimensions_analyzers methods

These were only there so that the user can override them, before we
transitioned to class method...

44348582f98426886df7b163e89d2d475fe74f86 authored over 5 years ago by Janko Marohnić <[email protected]>
Remove duplication when resolving store_dimensions error strategy

a62db5eec531751be1c82c5cf93304a2bc8f76db authored over 5 years ago by Janko Marohnić <[email protected]>
Remove deprecated Shrine::Plugins::RackFile::UploadedFile constant

125093b4a0af5928f0fe2f344b98f3de1728de2b authored over 5 years ago by Janko Marohnić <[email protected]>
Drop support for passing Rack file hash to Shrine#upload and Shrine#store

61f22ded0444f5e62530cd4bd57cc234ed6e8a61 authored over 5 years ago by Janko Marohnić <[email protected]>
Move Shrine::Plugins::DownloadEndpoint::App into Shrine::DownloadEndpoint

7c7198e6f634d5b4cc56f39d55297d54bf6e8a14 authored over 5 years ago by Janko Marohnić <[email protected]>
Remove deprecated Shrine::DownloadEndpoint constant

377ec4d25a783c7cd6f37116d143c8915fb11ae4 authored over 5 years ago by Janko Marohnić <[email protected]>
Remove deprecated :storages option in download_endpoint

2b5d99dc130fa62060f83fbea32c55937384b493 authored over 5 years ago by Janko Marohnić <[email protected]>
Remove :default MIME type analyzer alias

fad0d599dbf565e326b59b1dd050ea98bce21d28 authored over 5 years ago by Janko Marohnić <[email protected]>
Remove deprecated default_url plugin block

721f0a3f0a964674c32b818ee93791f5cb92b4ad authored over 5 years ago by Janko Marohnić <[email protected]>