Rails engine to treat external resources as if they were local.
Add to your Gemfile:
gem "local_resource"
bundle install
instance = LocalResource::Instance.new("http://lorempixel.com/400/200", "my-photo.jpeg")
instance.file # it downloads the photo from lorempixel.com to the tmp file.
instance.file_path # it shows the local path of your downloaded image.
instance.destroy # it removes the photo from the /tmp directory.
LocalResource.as_local_resource("http://lorempixel.com/400/200", "my-photo.jpeg") do |tmp_file_path|
# some code needing the local file.
end
The previous code...
- It downloads the photo from lorempixel.com to the tmp file.
- It executes custom code that needs the local file.
- It removes the tmp file from tmp.
To run the specs you need to execute, in the root path of the gem, the following command:
bundle exec guard
You need to put all your tests in the /local_resource/spec/dummy/spec/
directory.
On master/main branch...
- Change
VERSION
inlib/local_resource/version.rb
. - Change
Unreleased
title to current version inCHANGELOG.md
. - Commit new release. For example:
Releasing v0.1.0
. - Create tag. For example:
git tag v0.1.0
. - Push tag. For example:
git push origin v0.1.0
.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Thank you contributors!
Local Resource is maintained by platanus.
Local Resource is © 2018 platanus, spa. It is free software and may be redistributed under the terms specified in the LICENSE file.