Sha256: 978e8f478049ac80ba762ae6648de8dc5c3575f934f6c45e70c17d3b0d1abaa5
Contents?: true
Size: 787 Bytes
Versions: 1
Compression:
Stored size: 787 Bytes
Contents
require 'sinatra' module Sinatra module MongoHelper def mongo options.mongo end end module MongoExtension def mongo=(url) @mongo = nil set :mongo_url, url mongo end def mongo url = URI(mongo_url) connection = Mongo::Connection.new(url.host, url.port) @mongo ||= begin mongo = connection.db(url.path[1..-1]) if url.user && url.password mongo.authenticate(url.user, url.password) end mongo end end protected def self.registered(app) app.set :mongo_url, ENV['MONGO_URL'] || 'mongo://127.0.0.1:27017/default' app.helpers MongoHelper end end register MongoExtension end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sinatra-mongo-0.0.1 | lib/sinatra/mongo.rb |