{"id":15642088,"url":"https://github.com/robin850/carrierwave-dropbox","last_synced_at":"2025-05-07T15:42:49.990Z","repository":{"id":9849831,"uuid":"11843618","full_name":"robin850/carrierwave-dropbox","owner":"robin850","description":"Carrierwave storage for Dropbox","archived":false,"fork":false,"pushed_at":"2018-05-27T17:10:27.000Z","size":93,"stargazers_count":66,"open_issues_count":15,"forks_count":28,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-17T08:44:53.123Z","etag":null,"topics":["carrierwave","carrierwave-storage","dropbox","storage"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robin850.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-08-02T13:12:07.000Z","updated_at":"2022-06-16T12:15:22.000Z","dependencies_parsed_at":"2022-08-29T14:23:15.544Z","dependency_job_id":null,"html_url":"https://github.com/robin850/carrierwave-dropbox","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robin850%2Fcarrierwave-dropbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robin850%2Fcarrierwave-dropbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robin850%2Fcarrierwave-dropbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robin850%2Fcarrierwave-dropbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robin850","download_url":"https://codeload.github.com/robin850/carrierwave-dropbox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252908024,"owners_count":21823324,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["carrierwave","carrierwave-storage","dropbox","storage"],"created_at":"2024-10-03T11:54:18.647Z","updated_at":"2025-05-07T15:42:49.974Z","avatar_url":"https://github.com/robin850.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Carrierwave uploads on Dropbox\n\nThis gem allows you to easily upload your medias on Dropbox using the awesome\n[CarrierWave](https://github.com/carrierwaveuploader/carrierwave) gem.\n\n## Installation\n\nFirst, you have to create a [Dropbox app](https://www.dropbox.com/developers/apps).\nYou can either create a \"full dropbox\" or \"app folder\" application. Please see\n[this wiki](https://github.com/janko-m/paperclip-dropbox/wiki/Access-types) for\nfurther information and gotchas.\n\nThen, add this line to your application's Gemfile:\n\n~~~ruby\ngem 'carrierwave-dropbox'\n~~~\n\nThen run `bundle` to install the gem.\n\nTo make a Dropbox app and generate a token, go [here](https://www.dropbox.com/developers/apps).\nThen, specify the token in your configuration (in an initializer for instance)\nlike this:\n\n~~~ruby\nCarrierWave.configure do |config|\n  config.dropbox_access_token = Rails.application.dropbox_access_token\nend\n~~~\n\n**Note**: It's advisable not to directly store the credentials in your files\nespecially if you are using a SCM (e.g. Git). You should rather rely on Rails'\n`secrets` feature.\n\nThen you can either specify in your uploader files the storage or define it\nglobally through `CarrierWave.configure`:\n\n~~~ruby\nclass ImageUploader \u003c CarrierWave::Uploader::Base\n  storage :dropbox\nend\n~~~\n\n## Notable differences from other storage engines\n\nUnlike typical CarrierWave storage engines, we do not assume an uploaded file\nwill always be at the same path, as Dropbox UI users may move files around. As\nsuch, this gem relies on the file id. There are two significant implications to\nthis approach:\n\n1. The `#store_path` and `#store_dir` methods are not guaranteed to be accurate\n   after the initial file upload. We do not overwrite these methods as the end user\n   will often overwrite these methods to specify where the file should initially\n   be stored.\n2. The default `#filename` method is not accurate, as we are storing the Dropbox\n   id, rather than the name of the file. It's recommended that end users overwrite\n   the `#filename` method to delegate to the `CarrierWave::Storage::Dropbox::File`\n   interface. For example:\n\n    ~~~ruby\n    class MyUploader \u003c CarrierWave::Uploader::Base\n      storage :dropbox\n\n      def filename\n        if original_filename\n          # Perform any file name manipulation on initial upload\n        elsif file\n          file.filename\n        end\n      end\n    end\n    ~~~\n\n## Special thanks\n\nThis project is highly based on these two gems:\n\n* [paperclip-dropbox](https://github.com/janko-m/paperclip-dropbox)\n* [carrierwave-aws](https://github.com/sorentwo/carrierwave-aws)\n\nThanks to their respective authors and contributors!\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n## License\n\nPlease see the `LICENSE` file for further information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobin850%2Fcarrierwave-dropbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobin850%2Fcarrierwave-dropbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobin850%2Fcarrierwave-dropbox/lists"}