aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Clarify how a service can build other composed servicesJeremy Daer2017-07-095-38/+39
| | | | | | | | | * Service.build takes the literal YAML config hash for the service and a reference to the Configurator that's doing the building. * Services that compose additional services can use the Configurator to look them up and build them by name. See MirrorService for an example. References #23
* Service: clarify Service.build argumentsJeremy Daer2017-07-092-5/+5
| | | | | | | First arg is config for the service we're instantiating. Second arg is service configurations so we can look up and configure other services by name.
* Travis CI 💡Jeremy Daer2017-07-081-0/+15
|
* Configure services that reference other servicesJeremy Daer2017-07-0810-43/+89
| | | | | | | | * Move service configuration from the Engine to Service * Delegate configuration mechanics to internal Service::Configurator * Delegate service building to the concrete Service classes, allowing them to configure composed services. * Implement for the Mirror service.
* Mirror: explicit primary service and list of mirrorsJeremy Daer2017-07-082-15/+22
| | | | | | | | | | | | Pass separate primary service and list of mirrors rather than treating the first of the services list as the primary. Nice fit for keyword args, and something we've long wanted in the equivalent Basecamp file repository. Upload returns the results of the underlying service uploads rather than the io.rewind result. Rewind before uploading rather than afterward, and demonstrate that behavior with a test. Test that more than one mirror works.
* Merge pull request #21 from jeremy/disk-binary-ioDavid Heinemeier Hansson2017-07-092-14/+8
|\ | | | | Disk service: use binary IO throughout, not UTF-8
| * Disk service: use binary IO throughout, not UTF-8Jeremy Daer2017-07-082-14/+8
| |
* | Merge pull request #22 from jeremy/disk-filename-urlDavid Heinemeier Hansson2017-07-095-9/+9
|\ \ | |/ |/| Disk storage: ensure URLs end with the blob filename
| * Disk storage: ensure URLs end with the blob filename since some user agents ↵Jeremy Daer2017-07-085-9/+9
|/ | | | don't respect Content-Disposition filename
* Tests: skip GCS/AWS service tests if unconfiguredJeremy Daer2017-07-081-0/+1
|
* Merge pull request #15 from robin850/documentationDavid Heinemeier Hansson2017-07-086-5/+100
|\ | | | | Add some documentation
| * Add some documentationRobin Dupret2017-07-076-5/+100
| |
* | Add a brief roadmap sectionDavid Heinemeier Hansson2017-07-081-1/+5
| |
* | Change type of created_at columns from time to datetimeGeorge Claghorn2017-07-071-8/+8
| | | | | | | | We intend to store a date and time, not merely a time.
* | It is an engine (because of tasks) not a railtieDavid Heinemeier Hansson2017-07-072-2/+2
| |
* | Merge pull request #14 from maratgaliev/readme_patchDavid Heinemeier Hansson2017-07-071-1/+1
|\ \ | |/ |/| Update README.md
| * Update README.mdMarat Galiev2017-07-071-1/+1
|/ | | For the first look It's obvious, but makes sense I think, and raises undefined method `active_storage' on migration run for example.
* Bundle google-cloud-storage instead of the full Google SDKGeorge Claghorn2017-07-072-91/+2
|
* Create db/migrate if it doesn't existGeorge Claghorn2017-07-061-0/+1
|
* Merge pull request #10 from bradly/fix-readme-typoGeorge Claghorn2017-07-061-1/+1
|\ | | | | Fixing typo in Readme
| * Fixing typo in ReadmeBradly Feeley2017-07-061-1/+1
| |
* | Merge pull request #8 from robin850/fix-migrationsGeorge Claghorn2017-07-063-4/+4
|\ \ | |/ |/| Fix the migration class name
| * Fix the migration class nameRobin Dupret2017-07-063-4/+4
| | | | | | | | | | | | Due to Active Support auto loading feature, the migration class shouldn't be name-spaced under the `ActiveStorage` constant, otherwise, running the migrations would throw an error.
* | Test deleting a nonexistent keyGeorge Claghorn2017-07-061-0/+6
| |
* | Use safe navigationGeorge Claghorn2017-07-061-1/+1
| |
* | Remove unnecessary method delegationsGeorge Claghorn2017-07-061-1/+1
| |
* | Merge pull request #7 from johnwilliams/test_config_error_typoGeorge Claghorn2017-07-061-1/+1
|\ \ | |/ |/| Correct config path in error message
| * Correct config path in error messageJohn Williams2017-07-061-1/+1
|/
* Fix testGeorge Claghorn2017-07-062-2/+4
| | | | | | | * S3 fails fast if the Content-MD5 header on an upload request is an invalid checksum. Send a valid but incorrect checksum. * Rescue the service-specific exception and raise the generic one.
* Merge pull request #6 from johnwilliams/s3_integrityDavid Heinemeier Hansson2017-07-061-2/+1
|\ | | | | Ensure S3 file integrity by sending checksum
| * Merge branch 'master' into s3_integrityJohn Williams2017-07-061-2/+3
| |\ | |/ |/|
* | StyleGeorge Claghorn2017-07-061-5/+3
| |
* | Merge pull request #5 from SGospodinov/masterGeorge Claghorn2017-07-061-2/+5
|\ \ | | | | | | Adding server-side integrity check for GCS Service
| * | Adding server side integrity check for GCS ServiceStanislav Gospodinov2017-07-061-2/+5
|/ /
| * Send checksum to S3 to verify file integrityJohn Williams2017-07-061-2/+1
|/
* Merge pull request #4 from snuggs/patch-1George Claghorn2017-07-061-1/+1
|\ | | | | Fix hash usage consistency.
| * Fix hash usage consistency.Ra'Shaun Stovall2017-07-061-1/+1
|/ | | | | | | Unless this was intentional, being consistent with: https://github.com/rails/activestorage/blob/master/lib/active_storage/service/s3_service.rb#L8 Just showin' a lil' <3 while perusing the repo @dhh
* Link up main modelsDavid Heinemeier Hansson2017-07-061-1/+1
|
* Describe some of the design differences in ASDavid Heinemeier Hansson2017-07-061-0/+6
|
* Merge pull request #3 from adrianpacala/format-readme-examplesDavid Heinemeier Hansson2017-07-061-1/+5
|\ | | | | Use correct syntax highlighting in erb block
| * Use correct syntax in erb blockAdrian Pacała2017-07-061-1/+5
|/
* Documentation, yo!David Heinemeier Hansson2017-07-061-0/+1
|
* Helper methods are privateDavid Heinemeier Hansson2017-07-061-4/+5
|
* Check integrity after uploadsDavid Heinemeier Hansson2017-07-067-9/+34
|
* Escape commands and pathsDavid Heinemeier Hansson2017-07-061-3/+3
|
* Dropped from the interfaceDavid Heinemeier Hansson2017-07-061-9/+0
|
* It's base64 now since the clouds expect thatDavid Heinemeier Hansson2017-07-061-1/+1
| | | | Gotta please them clouds. SPEAK THE CLOUD.
* Need the byte helpersDavid Heinemeier Hansson2017-07-062-0/+2
|
* There are twoDavid Heinemeier Hansson2017-07-061-1/+1
|
* Compute checksum and byte_size client sideDavid Heinemeier Hansson2017-07-065-45/+15
| | | | | Then we can add integrity checks on uploads to prevent errors in transport.