class Pusher::PushNotifications::UseCases::GenerateToken
Attributes
user[R]
Public Class Methods
generate_token(*args, **kwargs)
click to toggle source
# File lib/pusher/push_notifications/use_cases/generate_token.rb, line 10 def generate_token(*args, **kwargs) new(*args, **kwargs).generate_token end
new(user:)
click to toggle source
# File lib/pusher/push_notifications/use_cases/generate_token.rb, line 15 def initialize(user:) @user = user @user_id = Pusher::PushNotifications::UserId.new raise GenerateTokenError, 'User Id cannot be empty.' if user.empty? if user.length > UserId::MAX_USER_ID_LENGTH raise GenerateTokenError, 'User id length too long ' \ "(expected fewer than #{UserId::MAX_USER_ID_LENGTH + 1} characters)" end end
Public Instance Methods
generate_token()
click to toggle source
Creates a signed JWT for a user id.
# File lib/pusher/push_notifications/use_cases/generate_token.rb, line 28 def generate_token { 'token' => jwt_token.generate(user) } end
Private Instance Methods
jwt_token()
click to toggle source
# File lib/pusher/push_notifications/use_cases/generate_token.rb, line 36 def jwt_token @jwt_token ||= PushNotifications::Token.new end