Class: ArtisanMemoryRepository::UserRepository
- Inherits:
-
Object
- Object
- ArtisanMemoryRepository::UserRepository
show all
- Includes:
- BaseRepository
- Defined in:
- lib/artisan-memory-repository/user_repository.rb
Instance Method Summary
collapse
#delete, #destroy_all, #find, #find_each, #records, #save, #where
Instance Method Details
#active_stories_for(user) ⇒ Object
32
33
34
35
36
|
# File 'lib/artisan-memory-repository/user_repository.rb', line 32
def active_stories_for(user)
story_repository = Artisan::Repository.story
stories = story_repository.for_user(user)
stories.reject { |story| story.complete }
end
|
#create(attrs = {}) ⇒ Object
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/artisan-memory-repository/user_repository.rb', line 12
def create(attrs = {})
user = new(attrs)
if !existing_login?(user.login) && user.valid?
save(user)
else
user.add_error(:login, 'has already been taken')
raise ArgumentError.new('The record has errors.')
end
user
end
|
#find_by_email(email) ⇒ Object
23
24
25
|
# File 'lib/artisan-memory-repository/user_repository.rb', line 23
def find_by_email(email)
records.values.find { |r| r.email == email }
end
|
#find_by_login(login) ⇒ Object
27
28
29
30
|
# File 'lib/artisan-memory-repository/user_repository.rb', line 27
def find_by_login(login)
return nil if login.nil?
records.values.find { |r| r.login.downcase == login.downcase }
end
|
#new(attrs = {}) ⇒ Object