fluke/devops-service/db/mongo/models/key.rb

47 lines
864 B
Ruby
Raw Normal View History

2014-05-08 15:34:26 +04:00
require "db/exceptions/invalid_record"
require "db/mongo/models/mongo_model"
require "json"
class Key < MongoModel
SYSTEM = "system"
USER = "user"
attr_accessor :id, :path, :scope
types :id => {:type => String, :empty => false},
:path => {:type => String, :empty => false},
:scope => {:type => String, :empty => false}
2015-02-12 13:01:05 +03:00
set_validators ::Validators::Key::FileExistence,
::Validators::Key::Scope
2014-05-08 15:34:26 +04:00
def initialize p={}
self.id = p["id"]
self.path = p["path"]
self.scope = p["scope"] || USER
end
2015-02-18 11:00:24 +03:00
def self.build_from_bson s
2014-05-08 15:34:26 +04:00
key = Key.new s
key.id = s["_id"]
key
end
def self.create_from_json json
Key.new( JSON.parse(json) )
end
def filename
File.basename(self.path)
end
def to_hash_without_id
o = {
"path" => self.path,
"scope" => self.scope
}
o
end
end