Sha256: e028dbbd204984bdd3221ec32cc10b38abe298a69dff8fc8389f1407e43dfcff

Contents?: true

Size: 1.09 KB

Versions: 2

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

require 'json'
require 'triviacrack/api/common'
require 'triviacrack/parsers/session_parser'

# Public: All methods in this module make requests to the Trivia Crack login
# API.
module TriviaCrack
  module API
    module Login
      include TriviaCrack::API::Common

      # Public: Uses the given email and password to log in to Trivia Crack
      # and retrieve a session id and user id.
      #
      # email     - Email of a Trivia Crack user.
      # password  - Password of a Trivia Crack user.
      #
      # Examples
      #
      #   login "user@example.com", "password123"
      #
      # Returns the user_id and username of the user that has logged in.
      # Raises TriviaCrack::Errors::RequestError if the request fails.
      def login(email, password)
        response = post '/api/login', parameters: { email: email,
                                                    password: password,
                                                    language: 'en' }.to_json

        @session = TriviaCrack::Parsers::SessionParser.parse response
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
triviacrack-0.8.0 lib/triviacrack/api/login.rb
triviacrack-0.7.0 lib/triviacrack/api/login.rb