https://github.com/mongoid/mongoid-grid_fs
A pure Mongoid/Moped implementation of the MongoDB GridFS specification.
https://github.com/mongoid/mongoid-grid_fs
Last synced: about 1 year ago
JSON representation
A pure Mongoid/Moped implementation of the MongoDB GridFS specification.
- Host: GitHub
- URL: https://github.com/mongoid/mongoid-grid_fs
- Owner: mongoid
- License: other
- Created: 2012-07-23T06:28:56.000Z (almost 14 years ago)
- Default Branch: master
- Last Pushed: 2024-11-19T13:55:34.000Z (over 1 year ago)
- Last Synced: 2025-05-07T03:24:17.913Z (about 1 year ago)
- Language: Ruby
- Homepage:
- Size: 244 KB
- Stars: 83
- Watchers: 10
- Forks: 50
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
mongoid-grid_fs
---------------
[](https://badge.fury.io/rb/mongoid-grid_fs)
[](https://github.com/mongoid/mongoid-grid_fs/actions/workflows/ci.yml)
A pure Mongoid/Moped implementation of the MongoDB GridFS specification
INSTALL
-------
```
gem install mongoid-grid_fs
```
SYNOPSIS
--------
```ruby
require 'mongoid/grid_fs'
grid_fs = Mongoid::GridFs
f = grid_fs.put(readable)
grid_fs.get(f.id)
grid_fs.delete(f.id)
g = grid_fs.get(f.id)
g.data # big huge blob
g.each { |chunk| file.write(chunk) } # streaming write
```
DESCRIPTION
-----------
mongoid_grid_fs is A pure Mongoid/Moped implementation of the MongoDB GridFS specification
Reference: http://docs.mongodb.org/manual/reference/gridfs/
It has the following features:
- implementation is on top of mongoid for portability. moped (the driver) is
barely used, so the library should be quite durable except in the face of
massive changes to mongoid itself.
- simple, REST-like api
- support for custom namespaces (fs.files vs. image.files, as per the spec)
- pathnames and io-like objects can be written to the grid
- auto-unique pathnames are generated (by default) to avoid collisions using #put
'path/info/a.rb' -> '$object_id/a.rb'
- [] and []= methods which allow the grid to be used like a giant file
hash in the sky
- support for data_uris, like a html5 boss
```erb
<%= image_tag :src => file.data_uri %>
```
CONTRIBUTING
------------
See [CONTRIBUTING](CONTRIBUTING.md).
LICENSE
-------
This is licensed under the Ruby License: http://www.ruby-lang.org/en/about/license.txt