Class: AuctionFunCore::Repos::UserContext::UserRepository

Inherits:
Object
  • Object
show all
Defined in:
lib/auction_fun_core/repos/user_context/user_repository.rb

Overview

SQL repository for users.

Instance Method Summary collapse

Instance Method Details

#allArray<ROM::Struct::User>, []

Returns all users in database.

Returns:

  • (Array<ROM::Struct::User>, [])


15
16
17
# File 'lib/auction_fun_core/repos/user_context/user_repository.rb', line 15

def all
  users.to_a
end

#by_email_confirmation_token(email_confirmation_token) ⇒ ROM::Struct::User?

Search user in database by email_confirmation_token key.

Parameters:

  • email_confirmation_token (String)

    User email confirmation token

Returns:

  • (ROM::Struct::User, nil)


57
58
59
# File 'lib/auction_fun_core/repos/user_context/user_repository.rb', line 57

def by_email_confirmation_token(email_confirmation_token)
  users.where(Sequel[email_confirmation_token: email_confirmation_token]).one
end

#by_id(id) ⇒ ROM::Struct::User?

Search user in database by primary key.

Parameters:

  • id (Integer)

    User ID

Returns:

  • (ROM::Struct::User, nil)


35
36
37
# File 'lib/auction_fun_core/repos/user_context/user_repository.rb', line 35

def by_id(id)
  users.by_pk(id).one
end

#by_id!(id) ⇒ ROM::Struct::Auction

Search user in database by primary key.

Parameters:

  • id (Integer)

    User ID

Returns:

  • (ROM::Struct::Auction)

Raises:

  • (ROM::TupleCountMismatchError)

    if not found on database



43
44
45
# File 'lib/auction_fun_core/repos/user_context/user_repository.rb', line 43

def by_id!(id)
  users.by_pk(id).one!
end

#by_login(login) ⇒ ROM::Struct::User?

Search user in database by email of phone keys.

Parameters:

  • login (String)

    User email or phone

Returns:

  • (ROM::Struct::User, nil)


50
51
52
# File 'lib/auction_fun_core/repos/user_context/user_repository.rb', line 50

def ()
  users.where(Sequel[email: ] | Sequel[phone: ]).one
end

#by_phone_confirmation_token(phone_confirmation_token) ⇒ ROM::Struct::User?

Search user in database by phone_confirmation_token of phone keys.

Parameters:

  • phone (String)

    User phone confirmation token

Returns:

  • (ROM::Struct::User, nil)


64
65
66
# File 'lib/auction_fun_core/repos/user_context/user_repository.rb', line 64

def by_phone_confirmation_token(phone_confirmation_token)
  users.where(Sequel[phone_confirmation_token: phone_confirmation_token]).one
end

#countInteger

Returns the total number of users in database.

Returns:

  • (Integer)


21
22
23
# File 'lib/auction_fun_core/repos/user_context/user_repository.rb', line 21

def count
  users.count
end

#exists?(conditions) ⇒ true, false

Checks if it returns any user given one or more conditions.

Parameters:

  • conditions (Hash)

    DSL Dataset

Returns:

  • (true)

    when some user is returned from the given condition.

  • (false)

    when no user is returned from the given condition.



72
73
74
# File 'lib/auction_fun_core/repos/user_context/user_repository.rb', line 72

def exists?(conditions)
  users.exist?(conditions)
end

#query(conditions) ⇒ AuctionFunCore::Relations::Users

Mount SQL conditions in query for search in database.

Parameters:

  • conditions (Hash)

    DSL Dataset

Returns:



28
29
30
# File 'lib/auction_fun_core/repos/user_context/user_repository.rb', line 28

def query(conditions)
  users.where(conditions)
end