Class: GitContacts::UserObject

Inherits:
Object
  • Object
show all
Includes:
Redis::Objects
Defined in:
lib/gitcontacts/User.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeUserObject



100
101
102
# File 'lib/gitcontacts/User.rb', line 100

def initialize
  @uid = Digest::SHA1.hexdigest(Time.now.to_s + rand(10000))
end

Class Method Details

.access(email) ⇒ Object



90
91
92
93
94
95
96
97
98
# File 'lib/gitcontacts/User.rb', line 90

def self::access email
  obj = allocate
  obj.set_email email
  obj.set_uid Redis::Value.new(key_prefix+id+':uid')
  obj.set_password Redis::Value.new(key_prefix+id+':password')
  obj.set_contacts Redis::Set.new(key_prefix+id+':contacts')
  obj.set_requests Redis::Set.new(key_prefix+id+':requests')
  obj
end

.exist?(email) ⇒ Boolean



86
87
88
# File 'lib/gitcontacts/User.rb', line 86

def self::exist? email
  true if redis.keys(key_prefix+email+':*').count > 0
end

.key_prefixObject



82
83
84
# File 'lib/gitcontacts/User.rb', line 82

def self::key_prefix
  "user_object:"
end

Instance Method Details

#idObject



104
105
106
# File 'lib/gitcontacts/User.rb', line 104

def id
  @email
end

#set_contacts(contacts) ⇒ Object



120
121
122
# File 'lib/gitcontacts/User.rb', line 120

def set_contacts contacts
  @contacts = contacts
end

#set_email(email) ⇒ Object



112
113
114
# File 'lib/gitcontacts/User.rb', line 112

def set_email email
  @email = email
end

#set_password(password) ⇒ Object



116
117
118
# File 'lib/gitcontacts/User.rb', line 116

def set_password password
  @password = password
end

#set_requests(requests) ⇒ Object



124
125
126
# File 'lib/gitcontacts/User.rb', line 124

def set_requests requests
  @requests = requests
end

#set_uid(uid) ⇒ Object



108
109
110
# File 'lib/gitcontacts/User.rb', line 108

def set_uid uid
  @uid = uid
end