No release in over 3 years
Low commit activity in last 3 years
a mongoid 3/moped compatible implementation of the grid_fs specification
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 1.19
< 5.0, >= 3.0
 Project Readme

mongoid-grid_fs

Gem Version CI

A pure Mongoid/Moped implementation of the MongoDB GridFS specification

INSTALL

gem install mongoid-grid_fs

SYNOPSIS

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

    <%= image_tag :src => file.data_uri %>

CONTRIBUTING

See CONTRIBUTING.

LICENSE

This is licensed under the Ruby License: http://www.ruby-lang.org/en/about/license.txt