Class: Minidoc::Grid

Inherits:
Object
  • Object
show all
Defined in:
lib/minidoc/grid.rb

Instance Method Summary collapse

Constructor Details

#initialize(database) ⇒ Grid

Returns a new instance of Grid.



2
3
4
# File 'lib/minidoc/grid.rb', line 2

def initialize(database)
  @bucket = Mongo::Grid::FSBucket.new(database)
end

Instance Method Details

#delete(id) ⇒ Object



23
24
25
26
# File 'lib/minidoc/grid.rb', line 23

def delete(id)
  id = BSON::ObjectId(id.to_s)
  bucket.delete(id)
end

#get(id) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/minidoc/grid.rb', line 10

def get(id)
  id = BSON::ObjectId(id.to_s)
  io = StringIO.new
  bucket.download_to_stream(id, io)
  io.rewind
  io
end

#get_json(id) ⇒ Object



18
19
20
21
# File 'lib/minidoc/grid.rb', line 18

def get_json(id)
  raw_data = get(id).read
  JSON.parse(raw_data)
end

#put(str, filename = SecureRandom.uuid) ⇒ Object



6
7
8
# File 'lib/minidoc/grid.rb', line 6

def put(str, filename = SecureRandom.uuid)
  bucket.upload_from_stream(filename, StringIO.new(str))
end