Ok this is the actual inital code... need to convert from mongo to sqlite...

This commit is contained in:
Alex Stevenson 2025-07-15 23:00:02 -04:00
parent 8c856ce465
commit 8fa1664bcb
13 changed files with 1168 additions and 0 deletions

77
mongo_document_wrapper.rb Normal file
View file

@ -0,0 +1,77 @@
class MongoDocumentWrapper
@mc = nil # MongoConnect instance
@doc = nil # MongoDocument instance....
@id = nil # BSON ID for the Doc
def initialize(mc, doc=nil)
@mc = mc
if doc == nil then
create()
else
@id = doc['_id']
@doc = doc
end
end
def create()
@id = BSON::ObjectId.new()
doc = get_default_doc()
doc['_id'] = @id
@doc = doc
@mc.collection.insert_one(@doc)
end
def load()
@doc = @mc.collection().find({"_id" => @id}).first()
end
# save and grab the ID and doc....
def set(params={}, persist=true)
@doc.merge!(params)
if persist == true then
persist()
end
end
def get(field)
return @doc[field]
end
def persist()
@mc.collection().update_one({"_id" => @id}, @doc)
end
def delete()
if @id == nil then
die
end
@mc.collection().delete_one({"_id" => @id})
end
def update(query)
@mc.collection().update_one({"_id" => @id}, query)
end
def get_default_doc()
puts "Override this in ent class"
return {}
end
def self.build_from(mc, doc=nil)
if doc == nil then
puts "wtf whoops??"
else
@mc = mc
@doc = doc
@id = @doc['_id']
end
return self
end
end