triviacrack 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +7 -2
  3. data/.github/workflows/publish.yml +8 -3
  4. data/.rubocop.yml +23 -0
  5. data/.ruby-version +1 -1
  6. data/Gemfile +1 -2
  7. data/Gemfile.lock +31 -10
  8. data/Rakefile +4 -2
  9. data/lib/triviacrack/api/client.rb +7 -7
  10. data/lib/triviacrack/api/common.rb +10 -11
  11. data/lib/triviacrack/api/game.rb +11 -13
  12. data/lib/triviacrack/api/login.rb +7 -8
  13. data/lib/triviacrack/api/profile.rb +4 -4
  14. data/lib/triviacrack/api/question.rb +14 -15
  15. data/lib/triviacrack/api/user.rb +9 -11
  16. data/lib/triviacrack/category_statistics.rb +2 -2
  17. data/lib/triviacrack/errors/parse_error.rb +2 -0
  18. data/lib/triviacrack/errors/request_error.rb +5 -3
  19. data/lib/triviacrack/game.rb +3 -3
  20. data/lib/triviacrack/game_statistics.rb +3 -3
  21. data/lib/triviacrack/parsers/category_statistics_parser.rb +13 -15
  22. data/lib/triviacrack/parsers/game_parser.rb +39 -39
  23. data/lib/triviacrack/parsers/game_statistics_parser.rb +15 -15
  24. data/lib/triviacrack/parsers/profile_parser.rb +28 -28
  25. data/lib/triviacrack/parsers/question_parser.rb +11 -11
  26. data/lib/triviacrack/parsers/session_parser.rb +10 -10
  27. data/lib/triviacrack/parsers/time_parser.rb +4 -4
  28. data/lib/triviacrack/parsers/user_parser.rb +21 -21
  29. data/lib/triviacrack/profile.rb +3 -3
  30. data/lib/triviacrack/question.rb +3 -3
  31. data/lib/triviacrack/session.rb +2 -2
  32. data/lib/triviacrack/user.rb +3 -3
  33. data/lib/triviacrack/version.rb +3 -1
  34. data/lib/triviacrack.rb +12 -10
  35. data/spec/api/game_spec.rb +49 -29
  36. data/spec/api/login_spec.rb +22 -15
  37. data/spec/api/profile_spec.rb +34 -20
  38. data/spec/api/question_spec.rb +49 -30
  39. data/spec/api/user_spec.rb +31 -20
  40. data/spec/game_spec.rb +4 -4
  41. data/spec/parsers/category_statistics_parser_spec.rb +8 -8
  42. data/spec/parsers/game_parser_spec.rb +21 -19
  43. data/spec/parsers/game_statistics_parser_spec.rb +11 -11
  44. data/spec/parsers/profile_parser_spec.rb +10 -10
  45. data/spec/parsers/question_parser_spec.rb +15 -11
  46. data/spec/parsers/session_parser_spec.rb +8 -8
  47. data/spec/parsers/time_parser_spec.rb +5 -5
  48. data/spec/parsers/user_parser_spec.rb +11 -11
  49. data/spec/spec_helper.rb +30 -32
  50. data/spec/user_spec.rb +4 -4
  51. data/triviacrack.gemspec +21 -20
  52. metadata +32 -45
@@ -1,4 +1,6 @@
1
- require "triviacrack/category_statistics"
1
+ # frozen_string_literal: true
2
+
3
+ require 'triviacrack/category_statistics'
2
4
 
3
5
  # Internal: This module is used to parse data returned from the Trivia Crack API
4
6
  # into a ruby object that represents category statistics for a Trivia Crack
@@ -6,7 +8,6 @@ require "triviacrack/category_statistics"
6
8
  module TriviaCrack
7
9
  module Parsers
8
10
  module CategoryStatisticsParser
9
-
10
11
  # Internal: Parses data returned from the Trivia Crack API to create
11
12
  # TriviaCrack::CategoryStatistics objects.
12
13
  #
@@ -20,26 +21,23 @@ module TriviaCrack
20
21
  #
21
22
  # Returns a hash of TriviaCrack::CategoryStatistics objects, keyed by
22
23
  # category.
23
- def self.parse(raw_data)
24
+ def self.parse(raw_data) # rubocop:disable Metrics/MethodLength
24
25
  categories = {}
25
26
 
26
- if raw_data
27
- raw_data.each do |category|
28
- category_name = category["category"].downcase.to_sym
27
+ raw_data&.each do |category|
28
+ category_name = category['category'].downcase.to_sym
29
29
 
30
- categories[category_name] =
31
- TriviaCrack::CategoryStatistics.new(
32
- category: category_name,
33
- correct: category["correct"],
34
- incorrect: category["incorrect"],
35
- worst: category["worst"]
36
- )
37
- end
30
+ categories[category_name] =
31
+ TriviaCrack::CategoryStatistics.new(
32
+ category: category_name,
33
+ correct: category['correct'],
34
+ incorrect: category['incorrect'],
35
+ worst: category['worst']
36
+ )
38
37
  end
39
38
 
40
39
  categories
41
40
  end
42
-
43
41
  end
44
42
  end
45
43
  end
@@ -1,15 +1,16 @@
1
- require "triviacrack/game"
2
- require "triviacrack/parsers/game_statistics_parser"
3
- require "triviacrack/parsers/question_parser"
4
- require "triviacrack/parsers/time_parser"
5
- require "triviacrack/parsers/user_parser"
1
+ # frozen_string_literal: true
2
+
3
+ require 'triviacrack/game'
4
+ require 'triviacrack/parsers/game_statistics_parser'
5
+ require 'triviacrack/parsers/question_parser'
6
+ require 'triviacrack/parsers/time_parser'
7
+ require 'triviacrack/parsers/user_parser'
6
8
 
7
9
  # Internal: This module is used to parse data returned from the Trivia Crack API
8
10
  # into a ruby object that represents a Trivia Crack game.
9
11
  module TriviaCrack
10
12
  module Parsers
11
13
  module GameParser
12
-
13
14
  # Internal: Parses data returned from the Trivia Crack API to create a
14
15
  # TriviaCrack::Game object.
15
16
  #
@@ -22,59 +23,58 @@ module TriviaCrack
22
23
  # game = TriviaCrack::Parsers::GameParser.parse raw_data
23
24
  #
24
25
  # Returns a TriviaCrack::Game.
25
- def self.parse(raw_data)
26
+ def self.parse(raw_data) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
26
27
  questions = []
27
- if raw_data["spins_data"]
28
- raw_data["spins_data"]["spins"][0]["questions"].each do |q_data|
29
- q_data = q_data["question"]
30
- q_data["type"] = raw_data["spins_data"]["spins"][0]["type"]
28
+ if raw_data['spins_data']
29
+ raw_data['spins_data']['spins'][0]['questions'].each do |q_data|
30
+ q_data = q_data['question']
31
+ q_data['type'] = raw_data['spins_data']['spins'][0]['type']
31
32
  question = TriviaCrack::Parsers::QuestionParser.parse q_data
32
33
  questions << question
33
34
  end
34
- if raw_data["spins_data"]["spins"][0]["type"] == "DUEL"
35
- q_data = raw_data["spins_data"]["spins"][0]["tie_break_question"]
36
- q_data["type"] = raw_data["spins_data"]["spins"][0]["type"]
35
+ if raw_data['spins_data']['spins'][0]['type'] == 'DUEL'
36
+ q_data = raw_data['spins_data']['spins'][0]['tie_break_question']
37
+ q_data['type'] = raw_data['spins_data']['spins'][0]['type']
37
38
  question = TriviaCrack::Parsers::QuestionParser.parse q_data
38
39
  questions << question
39
40
  end
40
41
  end
41
42
 
42
- if raw_data["available_crowns"]
43
- crowns = raw_data["available_crowns"].map { |c| c.downcase.to_sym }
44
- else
45
- crowns = []
46
- end
43
+ crowns = if raw_data['available_crowns']
44
+ raw_data['available_crowns'].map { |c| c.downcase.to_sym }
45
+ else
46
+ []
47
+ end
47
48
 
48
- me = raw_data["my_player_number"] == 1 ? "player_one" : "player_two"
49
- them = raw_data["my_player_number"] == 1 ? "player_two" : "player_one"
49
+ me = raw_data['my_player_number'] == 1 ? 'player_one' : 'player_two'
50
+ them = raw_data['my_player_number'] == 1 ? 'player_two' : 'player_one'
50
51
 
51
- my_statistics = raw_data["statistics"]["#{me}_statistics"]
52
- my_statistics["crowns"] = raw_data[me]["crowns"]
52
+ my_statistics = raw_data['statistics']["#{me}_statistics"]
53
+ my_statistics['crowns'] = raw_data[me]['crowns']
53
54
 
54
- opponent_statistics = raw_data["statistics"]["#{them}_statistics"]
55
- opponent_statistics["crowns"] = raw_data[them]["crowns"]
55
+ opponent_statistics = raw_data['statistics']["#{them}_statistics"]
56
+ opponent_statistics['crowns'] = raw_data[them]['crowns']
56
57
 
57
58
  TriviaCrack::Game.new(
58
- id: raw_data["id"],
59
- opponent: UserParser.parse(raw_data["opponent"]),
60
- game_status: raw_data["game_status"].downcase.to_sym,
61
- language: raw_data["language"].downcase.to_sym,
62
- created: TimeParser.parse(raw_data["created"]),
63
- last_turn: TimeParser.parse(raw_data["last_turn"]),
64
- type: raw_data["type"].downcase.to_sym,
65
- expiration_date: TimeParser.parse(raw_data["expiration_date"]),
66
- my_turn: raw_data["my_turn"],
67
- round_number: raw_data["round_number"],
68
- is_random: raw_data["is_random"],
69
- unread_messages: raw_data["unread_messages"],
70
- status_version: raw_data["status_version"],
59
+ id: raw_data['id'],
60
+ opponent: UserParser.parse(raw_data['opponent']),
61
+ game_status: raw_data['game_status'].downcase.to_sym,
62
+ language: raw_data['language'].downcase.to_sym,
63
+ created: TimeParser.parse(raw_data['created']),
64
+ last_turn: TimeParser.parse(raw_data['last_turn']),
65
+ type: raw_data['type'].downcase.to_sym,
66
+ expiration_date: TimeParser.parse(raw_data['expiration_date']),
67
+ my_turn: raw_data['my_turn'],
68
+ round_number: raw_data['round_number'],
69
+ is_random: raw_data['is_random'],
70
+ unread_messages: raw_data['unread_messages'],
71
+ status_version: raw_data['status_version'],
71
72
  available_crowns: crowns,
72
73
  questions: questions,
73
74
  my_statistics: GameStatisticsParser.parse(my_statistics),
74
75
  opponent_statistics: GameStatisticsParser.parse(opponent_statistics)
75
76
  )
76
77
  end
77
-
78
78
  end
79
79
  end
80
80
  end
@@ -1,12 +1,13 @@
1
- require "triviacrack/game_statistics"
2
- require "triviacrack/parsers/category_statistics_parser"
1
+ # frozen_string_literal: true
2
+
3
+ require 'triviacrack/game_statistics'
4
+ require 'triviacrack/parsers/category_statistics_parser'
3
5
 
4
6
  # Internal: This module is used to parse data returned from the Trivia Crack API
5
7
  # into a ruby object that represents player statistics for a Trivia Crack game.
6
8
  module TriviaCrack
7
9
  module Parsers
8
10
  module GameStatisticsParser
9
-
10
11
  # Internal: Parses data returned from the Trivia Crack API to create a
11
12
  # TriviaCrack::GameStatistics object.
12
13
  #
@@ -19,26 +20,25 @@ module TriviaCrack
19
20
  # stats = TriviaCrack::Parsers::GameStatisticsParser.parse raw_data
20
21
  #
21
22
  # Returns a TriviaCrack::GameStatistics.
22
- def self.parse(raw_data)
23
+ def self.parse(raw_data) # rubocop:disable Metrics/MethodLength
23
24
  categories =
24
- CategoryStatisticsParser.parse raw_data["category_questions"]
25
+ CategoryStatisticsParser.parse raw_data['category_questions']
25
26
 
26
- if raw_data["crowns"]
27
- crowns = raw_data["crowns"].map { |c| c.downcase.to_sym }
28
- else
29
- crowns = []
30
- end
27
+ crowns = if raw_data['crowns']
28
+ raw_data['crowns'].map { |c| c.downcase.to_sym }
29
+ else
30
+ []
31
+ end
31
32
 
32
33
  TriviaCrack::GameStatistics.new(
33
- correct_answers: raw_data["correct_answers"],
34
- incorrect_answers: raw_data["incorrect_answers"],
35
- questions_answered: raw_data["questions_answered"],
36
- challenges_won: raw_data["challenges_won"],
34
+ correct_answers: raw_data['correct_answers'],
35
+ incorrect_answers: raw_data['incorrect_answers'],
36
+ questions_answered: raw_data['questions_answered'],
37
+ challenges_won: raw_data['challenges_won'],
37
38
  crowns: crowns,
38
39
  categories: categories
39
40
  )
40
41
  end
41
-
42
42
  end
43
43
  end
44
44
  end
@@ -1,13 +1,14 @@
1
- require "triviacrack/profile"
2
- require "triviacrack/parsers/category_statistics_parser"
3
- require "triviacrack/parsers/time_parser"
1
+ # frozen_string_literal: true
2
+
3
+ require 'triviacrack/profile'
4
+ require 'triviacrack/parsers/category_statistics_parser'
5
+ require 'triviacrack/parsers/time_parser'
4
6
 
5
7
  # Internal: This module is used to parse data returned from the Trivia Crack API
6
8
  # into a ruby object that represents a Trivia Crack user profile.
7
9
  module TriviaCrack
8
10
  module Parsers
9
11
  module ProfileParser
10
-
11
12
  # Internal: Parses data returned from the Trivia Crack API to create a
12
13
  # TriviaCrack::Profile object.
13
14
  #
@@ -20,36 +21,35 @@ module TriviaCrack
20
21
  # profile = TriviaCrack::Parsers::ProfileParser.parse raw_data
21
22
  #
22
23
  # Returns a TriviaCrack::Profile.
23
- def self.parse(raw_data)
24
- stats = raw_data["statistics"]
25
- versus = raw_data["versus"]
24
+ def self.parse(raw_data) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
25
+ stats = raw_data['statistics']
26
+ versus = raw_data['versus']
26
27
 
27
- categories = CategoryStatisticsParser.parse stats["category_questions"]
28
+ categories = CategoryStatisticsParser.parse stats['category_questions']
28
29
 
29
30
  TriviaCrack::Profile.new(
30
- id: raw_data["id"],
31
- facebook_name: raw_data["facebook_name"],
32
- is_friend: raw_data["is_friend"],
33
- is_blocked: raw_data["is_blocked"],
34
- username: raw_data["username"],
35
- country: raw_data["country"].downcase.to_sym,
36
- email: raw_data["email"],
37
- last_play: TimeParser.parse(raw_data["last_play_date"]),
38
- last_login: TimeParser.parse(raw_data["last_log"]),
39
- games_won: stats["games_won"],
40
- games_lost: stats["games_lost"],
41
- games_resigned: stats["games_resigned"],
42
- consecutive_games_won: stats["consecutive_games_won"],
43
- consecutive_answers_correct: stats["consecutive_answers_correct"],
44
- level: raw_data["level_data"]["level"],
45
- challenges_won: stats["challenges"]["won"],
46
- challenges_lost: stats["challenges"]["lost"],
31
+ id: raw_data['id'],
32
+ facebook_name: raw_data['facebook_name'],
33
+ is_friend: raw_data['is_friend'],
34
+ is_blocked: raw_data['is_blocked'],
35
+ username: raw_data['username'],
36
+ country: raw_data['country'].downcase.to_sym,
37
+ email: raw_data['email'],
38
+ last_play: TimeParser.parse(raw_data['last_play_date']),
39
+ last_login: TimeParser.parse(raw_data['last_log']),
40
+ games_won: stats['games_won'],
41
+ games_lost: stats['games_lost'],
42
+ games_resigned: stats['games_resigned'],
43
+ consecutive_games_won: stats['consecutive_games_won'],
44
+ consecutive_answers_correct: stats['consecutive_answers_correct'],
45
+ level: raw_data['level_data']['level'],
46
+ challenges_won: stats['challenges']['won'],
47
+ challenges_lost: stats['challenges']['lost'],
47
48
  categories: categories,
48
- my_wins_vs_user: versus ? versus["won"] : nil,
49
- my_losses_vs_user: versus ? versus["lost"] : nil
49
+ my_wins_vs_user: versus ? versus['won'] : nil,
50
+ my_losses_vs_user: versus ? versus['lost'] : nil
50
51
  )
51
52
  end
52
-
53
53
  end
54
54
  end
55
55
  end
@@ -1,11 +1,12 @@
1
- require "triviacrack/question"
1
+ # frozen_string_literal: true
2
+
3
+ require 'triviacrack/question'
2
4
 
3
5
  # Internal: This module is used to parse data returned from the Trivia Crack API
4
6
  # into a ruby object that represents a Trivia Crack question.
5
7
  module TriviaCrack
6
8
  module Parsers
7
9
  module QuestionParser
8
-
9
10
  # Internal: Parses data returned from the Trivia Crack API to create a
10
11
  # TriviaCrack::Question object.
11
12
  #
@@ -20,17 +21,16 @@ module TriviaCrack
20
21
  # Returns a TriviaCrack::Question.
21
22
  def self.parse(raw_data)
22
23
  TriviaCrack::Question.new(
23
- id: raw_data["id"],
24
- type: raw_data["type"].downcase.to_sym,
25
- category: raw_data["category"].downcase.to_sym,
26
- text: raw_data["text"],
27
- answers: raw_data["answers"],
28
- correct_answer: raw_data["correct_answer"],
29
- media_type: raw_data["media_type"].downcase.to_sym,
30
- image_url: raw_data["base_url"]
24
+ id: raw_data['id'],
25
+ type: raw_data['type'].downcase.to_sym,
26
+ category: raw_data['category'].downcase.to_sym,
27
+ text: raw_data['text'],
28
+ answers: raw_data['answers'],
29
+ correct_answer: raw_data['correct_answer'],
30
+ media_type: raw_data['media_type'].downcase.to_sym,
31
+ image_url: raw_data['base_url']
31
32
  )
32
33
  end
33
-
34
34
  end
35
35
  end
36
36
  end
@@ -1,12 +1,13 @@
1
- require "triviacrack/session"
2
- require "triviacrack/parsers/time_parser"
1
+ # frozen_string_literal: true
2
+
3
+ require 'triviacrack/session'
4
+ require 'triviacrack/parsers/time_parser'
3
5
 
4
6
  # Internal: This module is used to parse data returned from the Trivia Crack API
5
7
  # into a ruby object that represents a Trivia Crack session.
6
8
  module TriviaCrack
7
9
  module Parsers
8
10
  module SessionParser
9
-
10
11
  # Internal: Parses data returned from the Trivia Crack API to create a
11
12
  # TriviaCrack::Session object.
12
13
  #
@@ -20,17 +21,16 @@ module TriviaCrack
20
21
  #
21
22
  # Returns a TriviaCrack::Session.
22
23
  def self.parse(raw_data)
23
- expiration = TimeParser.parse raw_data["session"]["expirationTime"]
24
+ expiration = TimeParser.parse raw_data['session']['expirationTime']
24
25
 
25
26
  TriviaCrack::Session.new(
26
- session_id: raw_data["session"]["session"],
27
- user_id: raw_data["id"],
28
- username: raw_data["username"],
29
- device_key: raw_data["session"]["deviceKey"],
27
+ session_id: raw_data['session']['session'],
28
+ user_id: raw_data['id'],
29
+ username: raw_data['username'],
30
+ device_key: raw_data['session']['deviceKey'],
30
31
  expiration: expiration
31
32
  )
32
33
  end
33
-
34
34
  end
35
35
  end
36
- end
36
+ end
@@ -1,12 +1,13 @@
1
- require "time"
1
+ # frozen_string_literal: true
2
+
3
+ require 'time'
2
4
 
3
5
  # Internal: This module is used to parse date_time strings returned by the
4
6
  # Trivia Crack API.
5
7
  module TriviaCrack
6
8
  module Parsers
7
9
  module TimeParser
8
-
9
- TIME_FORMAT = "%m/%d/%Y %H:%M:%S"
10
+ TIME_FORMAT = '%m/%d/%Y %H:%M:%S'
10
11
 
11
12
  # Internal: Parses a date_time string returned by the Trivia Crack API.
12
13
  #
@@ -20,7 +21,6 @@ module TriviaCrack
20
21
  def self.parse(raw_data)
21
22
  Time.strptime(raw_data, TIME_FORMAT)
22
23
  end
23
-
24
24
  end
25
25
  end
26
26
  end
@@ -1,11 +1,12 @@
1
- require "triviacrack/user"
1
+ # frozen_string_literal: true
2
+
3
+ require 'triviacrack/user'
2
4
 
3
5
  # Internal: This module is used to parse data returned from the Trivia Crack API
4
6
  # into a ruby object that represents a Trivia Crack user.
5
7
  module TriviaCrack
6
8
  module Parsers
7
9
  module UserParser
8
-
9
10
  # Internal: Parses data returned from the Trivia Crack API to create a
10
11
  # TriviaCrack::User object.
11
12
  #
@@ -18,30 +19,29 @@ module TriviaCrack
18
19
  # user = TriviaCrack::Parsers::UserParser.parse raw_data
19
20
  #
20
21
  # Returns a TriviaCrack::User.
21
- def self.parse(raw_data)
22
- lives = raw_data["lives"]
23
- level_data = raw_data["level_data"]
24
- country = raw_data["country"]
22
+ def self.parse(raw_data) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
23
+ lives = raw_data['lives']
24
+ level_data = raw_data['level_data']
25
+ country = raw_data['country']
25
26
 
26
27
  TriviaCrack::User.new(
27
- id: raw_data["id"],
28
- username: raw_data["username"],
29
- facebook_id: raw_data["facebook_id"],
30
- facebook_name: raw_data["facebook_name"],
31
- coins: raw_data["coins"],
32
- lives: lives ? lives["quantity"] : nil,
33
- max_lives: lives ? lives["max"] : nil,
34
- unlimited_lives: lives ? lives["unlimited"] : nil,
28
+ id: raw_data['id'],
29
+ username: raw_data['username'],
30
+ facebook_id: raw_data['facebook_id'],
31
+ facebook_name: raw_data['facebook_name'],
32
+ coins: raw_data['coins'],
33
+ lives: lives ? lives['quantity'] : nil,
34
+ max_lives: lives ? lives['max'] : nil,
35
+ unlimited_lives: lives ? lives['unlimited'] : nil,
35
36
  country: country ? country.downcase.to_sym : nil,
36
- extra_shots: raw_data["extra_shots"],
37
- level: level_data ? level_data["level"] : nil,
38
- level_points: level_data ? level_data["points"] : nil,
39
- level_progress: level_data ? level_data["progress"] : nil,
40
- goal_points: level_data ? level_data["goal_points"] : nil,
41
- level_up: level_data ? level_data["level_up"] : nil
37
+ extra_shots: raw_data['extra_shots'],
38
+ level: level_data ? level_data['level'] : nil,
39
+ level_points: level_data ? level_data['points'] : nil,
40
+ level_progress: level_data ? level_data['progress'] : nil,
41
+ goal_points: level_data ? level_data['goal_points'] : nil,
42
+ level_up: level_data ? level_data['level_up'] : nil
42
43
  )
43
44
  end
44
-
45
45
  end
46
46
  end
47
47
  end
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Public: An object containing the Trivia Crack profile information of a user.
2
4
  module TriviaCrack
3
5
  class Profile
4
-
5
6
  # Public: The unique identifier of the user.
6
7
  attr_reader :id
7
8
 
@@ -63,7 +64,7 @@ module TriviaCrack
63
64
  # Public: Number of games lost against the requesting user.
64
65
  attr_reader :my_losses_vs_user
65
66
 
66
- def initialize(id: nil, facebook_name: nil, is_friend: nil, is_blocked: nil,
67
+ def initialize(id: nil, facebook_name: nil, is_friend: nil, is_blocked: nil, # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Metrics/ParameterLists
67
68
  username: nil, country: nil, email: nil, last_play: nil,
68
69
  last_login: nil, games_won: nil, games_lost: nil,
69
70
  games_resigned: nil, consecutive_games_won: nil,
@@ -91,6 +92,5 @@ module TriviaCrack
91
92
  @my_wins_vs_user = my_wins_vs_user
92
93
  @my_losses_vs_user = my_losses_vs_user
93
94
  end
94
-
95
95
  end
96
96
  end
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Public: An object representing a Trivia Crack Question, including the list of
2
4
  # available answers as well as the correct answer.
3
5
  module TriviaCrack
4
6
  class Question
5
-
6
7
  # Public: The unique identifier of the question.
7
8
  attr_reader :id
8
9
 
@@ -27,7 +28,7 @@ module TriviaCrack
27
28
  # Public: The URL for the image.
28
29
  attr_reader :image_url
29
30
 
30
- def initialize(id:, type: nil, category: nil, text: nil, answers: nil,
31
+ def initialize(id:, type: nil, category: nil, text: nil, answers: nil, # rubocop:disable Metrics/ParameterLists
31
32
  correct_answer: nil, media_type: nil, image_url: nil)
32
33
  @id = id
33
34
  @type = type
@@ -38,6 +39,5 @@ module TriviaCrack
38
39
  @media_type = media_type
39
40
  @image_url = image_url
40
41
  end
41
-
42
42
  end
43
43
  end
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Public: An object representing a Trivia Crack Session.
2
4
  module TriviaCrack
3
5
  class Session
4
-
5
6
  # Public: The session id.
6
7
  attr_reader :session_id
7
8
 
@@ -25,6 +26,5 @@ module TriviaCrack
25
26
  @device_key = device_key
26
27
  @expiration = expiration
27
28
  end
28
-
29
29
  end
30
30
  end
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Public: An object representing a Trivia Crack User, including information
2
4
  # about the user's level, lives and coins.
3
5
  module TriviaCrack
4
6
  class User
5
-
6
7
  # Public: The unique identifier of the user.
7
8
  attr_reader :id
8
9
 
@@ -51,7 +52,7 @@ module TriviaCrack
51
52
  # Public: Boolean indicating whether the user has leveled up.
52
53
  attr_reader :level_up
53
54
 
54
- def initialize(id:, username: nil, facebook_id: nil, facebook_name: nil,
55
+ def initialize(id:, username: nil, facebook_id: nil, facebook_name: nil, # rubocop:disable Metrics/MethodLength, Metrics/ParameterLists
55
56
  coins: nil, lives: nil, max_lives: nil, unlimited_lives: nil,
56
57
  country: nil, extra_shots: nil, level: nil,
57
58
  level_points: nil, level_progress: nil, goal_points: nil,
@@ -86,6 +87,5 @@ module TriviaCrack
86
87
  def start_new_game?
87
88
  @lives >= 1 || @unlimited_lives
88
89
  end
89
-
90
90
  end
91
91
  end
@@ -1,4 +1,6 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Public: The version of this gem.
2
4
  module TriviaCrack
3
- VERSION = "0.6.0"
5
+ VERSION = '0.7.0'
4
6
  end
data/lib/triviacrack.rb CHANGED
@@ -1,12 +1,14 @@
1
- require "triviacrack/category_statistics"
2
- require "triviacrack/game"
3
- require "triviacrack/game_statistics"
4
- require "triviacrack/profile"
5
- require "triviacrack/question"
6
- require "triviacrack/user"
7
- require "triviacrack/version"
1
+ # frozen_string_literal: true
8
2
 
9
- require "triviacrack/api/client"
3
+ require 'triviacrack/category_statistics'
4
+ require 'triviacrack/game'
5
+ require 'triviacrack/game_statistics'
6
+ require 'triviacrack/profile'
7
+ require 'triviacrack/question'
8
+ require 'triviacrack/user'
9
+ require 'triviacrack/version'
10
10
 
11
- require "triviacrack/errors/parse_error"
12
- require "triviacrack/errors/request_error"
11
+ require 'triviacrack/api/client'
12
+
13
+ require 'triviacrack/errors/parse_error'
14
+ require 'triviacrack/errors/request_error'