Sha256: e262fcec02f97b4d6f14b07fc2fa4315f8af6f8cf405d556d5a64543e272825b
Contents?: true
Size: 1.24 KB
Versions: 2
Compression:
Stored size: 1.24 KB
Contents
class Logman class Bucket include Mongoid::Document store_in collection: 'logman_buckets' attr_protected :write_token validates_presence_of :name validates_format_of :name, with: /[A-Za-z0-9_]+/ field :name, type: String field :write_token,type: String field :user_ids, type: Array #collection specifications def self.set_bucket_collection(name) Thread.current[:bucket_key] = name end def logs Bucket.set_bucket_collection(self.bucket_key) Log.all end #end def user_ids=(val) val = val.map {|key| Moped::BSON::ObjectId.from_string(key) } write_attribute(:user_ids, val) end def users User.where(:id.in => :user_ids) end def bucket_key key = self.name.gsub(' ','_').gsub('-','_') "bucket_#{key.underscore}" end before_create :new_token def new_token self.write_token = generate_new_token end def generate_new_token while true token = SecureRandom.hex return token if Bucket.where(:write_token=> token).count == 0 end end def serializable_hash(options={}) options[:methods] ||= [:id] super(options) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
logman-0.1.0 | lib/models/bucket.rb |
logman-0.1.0.alpha | lib/models/bucket.rb |