Class: Logman::Bucket

Inherits:
Object
  • Object
show all
Includes:
Mongoid::Document
Defined in:
lib/models/bucket.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.set_bucket_collection(name) ⇒ Object

collection specifications



16
17
18
# File 'lib/models/bucket.rb', line 16

def self.set_bucket_collection(name)
  Thread.current[:bucket_key] = name
end

Instance Method Details

#bucket_keyObject



35
36
37
38
# File 'lib/models/bucket.rb', line 35

def bucket_key
  key = self.name.gsub(' ','_').gsub('-','_')
  "bucket_#{key.underscore}"
end

#generate_new_tokenObject



45
46
47
48
49
50
# File 'lib/models/bucket.rb', line 45

def generate_new_token
  while true
    token = SecureRandom.hex
    return token if Bucket.where(:write_token=> token).count == 0
  end
end

#logsObject



20
21
22
23
# File 'lib/models/bucket.rb', line 20

def logs
  Bucket.set_bucket_collection(self.bucket_key)
  Log.all
end

#new_tokenObject



41
42
43
# File 'lib/models/bucket.rb', line 41

def new_token
  self.write_token = generate_new_token
end

#serializable_hash(options = {}) ⇒ Object



52
53
54
55
# File 'lib/models/bucket.rb', line 52

def serializable_hash(options={})
  options[:methods] ||= [:id]
  super(options)
end

#user_ids=(val) ⇒ Object

end



26
27
28
29
# File 'lib/models/bucket.rb', line 26

def user_ids=(val)
  val = val.map {|key| Moped::BSON::ObjectId.from_string(key) }
  write_attribute(:user_ids, val)
end

#usersObject



31
32
33
# File 'lib/models/bucket.rb', line 31

def users
  User.where(:id.in => :user_ids)
end