halo-api 0.1.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 (67) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/.rspec +2 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +5 -0
  7. data/Gemfile +6 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +60 -0
  10. data/Rakefile +6 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/halo-api.gemspec +34 -0
  14. data/lib/halo-api.rb +33 -0
  15. data/lib/halo-api/api_response.rb +19 -0
  16. data/lib/halo-api/client.rb +56 -0
  17. data/lib/halo-api/configuration.rb +22 -0
  18. data/lib/halo-api/modules/metadata/halo5/campaign_missions.rb +17 -0
  19. data/lib/halo-api/modules/metadata/halo5/commendations.rb +17 -0
  20. data/lib/halo-api/modules/metadata/halo5/csr_designations.rb +17 -0
  21. data/lib/halo-api/modules/metadata/halo5/enemies.rb +17 -0
  22. data/lib/halo-api/modules/metadata/halo5/flexible_stats.rb +17 -0
  23. data/lib/halo-api/modules/metadata/halo5/game_base_variants.rb +17 -0
  24. data/lib/halo-api/modules/metadata/halo5/game_variant.rb +17 -0
  25. data/lib/halo-api/modules/metadata/halo5/impulses.rb +17 -0
  26. data/lib/halo-api/modules/metadata/halo5/map_variant.rb +17 -0
  27. data/lib/halo-api/modules/metadata/halo5/maps.rb +17 -0
  28. data/lib/halo-api/modules/metadata/halo5/medals.rb +17 -0
  29. data/lib/halo-api/modules/metadata/halo5/playlist.rb +17 -0
  30. data/lib/halo-api/modules/metadata/halo5/requisition.rb +17 -0
  31. data/lib/halo-api/modules/metadata/halo5/requisition_pack.rb +17 -0
  32. data/lib/halo-api/modules/metadata/halo5/seasons.rb +17 -0
  33. data/lib/halo-api/modules/metadata/halo5/skulls.rb +17 -0
  34. data/lib/halo-api/modules/metadata/halo5/spartan_ranks.rb +17 -0
  35. data/lib/halo-api/modules/metadata/halo5/team_colors.rb +17 -0
  36. data/lib/halo-api/modules/metadata/halo5/vehicles.rb +17 -0
  37. data/lib/halo-api/modules/metadata/halo5/weapons.rb +17 -0
  38. data/lib/halo-api/modules/metadata/halo5_metadata_client.rb +120 -0
  39. data/lib/halo-api/modules/profile/halo5/player_appearance.rb +17 -0
  40. data/lib/halo-api/modules/profile/halo5/player_emblem_image.rb +17 -0
  41. data/lib/halo-api/modules/profile/halo5/player_spartan_image.rb +17 -0
  42. data/lib/halo-api/modules/profile/halo5_profile_client.rb +36 -0
  43. data/lib/halo-api/modules/stats/halo5/company.rb +17 -0
  44. data/lib/halo-api/modules/stats/halo5/company_commendations.rb +17 -0
  45. data/lib/halo-api/modules/stats/halo5/leaderboard_player_csr.rb +17 -0
  46. data/lib/halo-api/modules/stats/halo5/match_events.rb +17 -0
  47. data/lib/halo-api/modules/stats/halo5/match_result_arena.rb +17 -0
  48. data/lib/halo-api/modules/stats/halo5/match_result_campaign.rb +17 -0
  49. data/lib/halo-api/modules/stats/halo5/match_result_custom.rb +17 -0
  50. data/lib/halo-api/modules/stats/halo5/match_result_warzone.rb +17 -0
  51. data/lib/halo-api/modules/stats/halo5/pc_match_result_custom.rb +17 -0
  52. data/lib/halo-api/modules/stats/halo5/pc_player_match_history.rb +17 -0
  53. data/lib/halo-api/modules/stats/halo5/pc_player_service_records_custom.rb +17 -0
  54. data/lib/halo-api/modules/stats/halo5/player_commendations.rb +17 -0
  55. data/lib/halo-api/modules/stats/halo5/player_match_history.rb +17 -0
  56. data/lib/halo-api/modules/stats/halo5/player_service_records_arena.rb +17 -0
  57. data/lib/halo-api/modules/stats/halo5/player_service_records_campaign.rb +17 -0
  58. data/lib/halo-api/modules/stats/halo5/player_service_records_custom.rb +17 -0
  59. data/lib/halo-api/modules/stats/halo5/player_service_records_warzone.rb +17 -0
  60. data/lib/halo-api/modules/stats/halo5_stats_client.rb +105 -0
  61. data/lib/halo-api/modules/ugc/halo5/player_game_variant.rb +17 -0
  62. data/lib/halo-api/modules/ugc/halo5/player_game_variants.rb +17 -0
  63. data/lib/halo-api/modules/ugc/halo5/player_map_variant.rb +17 -0
  64. data/lib/halo-api/modules/ugc/halo5/player_map_variants.rb +17 -0
  65. data/lib/halo-api/modules/ugc/halo5_ugc_client.rb +40 -0
  66. data/lib/halo-api/version.rb +3 -0
  67. metadata +227 -0
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class Company < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(company_id, options = {})
11
+ get_data("#{@endpoint}/companies/#{company_id}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class CompanyCommendations < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(company_id, options = {})
11
+ get_data("#{@endpoint}/companies/#{company_id}/commendations", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class LeaderboardPlayerCsr < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(season_id, playlist_id, options = {})
11
+ get_data("#{@endpoint}/player-leaderboards/csr/#{season_id}/#{playlist_id}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class MatchEvents < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(match_id, options = {})
11
+ get_data("#{@endpoint}/matches/#{match_id}/events", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class MatchResultArena < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(match_id, options = {})
11
+ get_data("#{@endpoint}/arena/matches/#{match_id}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class MatchResultCampaign < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(match_id, options = {})
11
+ get_data("#{@endpoint}/campaign/matches/#{match_id}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class MatchResultCustom < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(match_id, options = {})
11
+ get_data("#{@endpoint}/custom/matches/#{match_id}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class MatchResultWarzone < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(match_id, options = {})
11
+ get_data("#{@endpoint}/warzone/matches/#{match_id}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class PcMatchResultCustom < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(match_id, options = {})
11
+ get_data("#{@endpoint}pc/custom/matches/#{match_id}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class PcPlayerMatchHistory < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(player, options = {})
11
+ get_data("#{@endpoint}pc/players/#{player}/matches", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class PcPlayerServiceRecordsCustom < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(players, options = {})
11
+ get_data("#{@endpoint}pc/servicerecords/custom?players=#{players}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class PlayerCommendations < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(player, options = {})
11
+ get_data("#{@endpoint}/players/#{player}/commendations", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class PlayerMatchHistory < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(player, options = {})
11
+ get_data("#{@endpoint}/players/#{player}/matches", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class PlayerServiceRecordsArena < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(players, options = {})
11
+ get_data("#{@endpoint}/servicerecords/arena?players=#{players}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class PlayerServiceRecordsCampaign < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(players, options = {})
11
+ get_data("#{@endpoint}/servicerecords/campaign?players=#{players}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class PlayerServiceRecordsCustom < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(players, options = {})
11
+ get_data("#{@endpoint}/servicerecords/custom?players=#{players}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Stats
3
+ module Halo5
4
+ class PlayerServiceRecordsWarzone < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(players, options = {})
11
+ get_data("#{@endpoint}/servicerecords/warzone?players=#{players}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,105 @@
1
+ require 'halo-api/client'
2
+
3
+ require 'halo-api/modules/stats/halo5/company'
4
+ require 'halo-api/modules/stats/halo5/company_commendations'
5
+ require 'halo-api/modules/stats/halo5/leaderboard_player_csr'
6
+ require 'halo-api/modules/stats/halo5/match_events'
7
+ require 'halo-api/modules/stats/halo5/match_result_arena'
8
+ require 'halo-api/modules/stats/halo5/match_result_campaign'
9
+ require 'halo-api/modules/stats/halo5/match_result_custom'
10
+ require 'halo-api/modules/stats/halo5/match_result_warzone'
11
+ require 'halo-api/modules/stats/halo5/player_commendations'
12
+ require 'halo-api/modules/stats/halo5/player_match_history'
13
+ require 'halo-api/modules/stats/halo5/player_service_records_arena'
14
+ require 'halo-api/modules/stats/halo5/player_service_records_campaign'
15
+ require 'halo-api/modules/stats/halo5/player_service_records_custom'
16
+ require 'halo-api/modules/stats/halo5/player_service_records_warzone'
17
+ require 'halo-api/modules/stats/halo5/pc_match_result_custom'
18
+ require 'halo-api/modules/stats/halo5/pc_player_match_history'
19
+ require 'halo-api/modules/stats/halo5/pc_player_service_records_custom'
20
+
21
+
22
+ module Halo
23
+ module Stats
24
+
25
+ # Halo 5 Stats endpoints
26
+ class Halo5StatsClient < Client
27
+
28
+ def initialize(options = {})
29
+ client_settings = { endpoint: '/stats/h5' }
30
+ client_settings = client_settings.merge(options)
31
+
32
+ super(client_settings)
33
+ end
34
+
35
+ def company(options = {})
36
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::Company)
37
+ end
38
+
39
+ def company_commendations(options = {})
40
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::CompanyCommendations)
41
+ end
42
+
43
+ def leaderboard_player_csr(options = {})
44
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::LeaderboardPlayerCsr)
45
+ end
46
+
47
+ def match_events(options = {})
48
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::MatchEvents)
49
+ end
50
+
51
+ def match_result_arena(options = {})
52
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::MatchResultArena)
53
+ end
54
+
55
+ def match_result_campaign(options = {})
56
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::MatchResultCampaign)
57
+ end
58
+
59
+ def match_result_custom(options = {})
60
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::MatchResultCustom)
61
+ end
62
+
63
+ def match_result_warzone(options = {})
64
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::MatchResultWarzone)
65
+ end
66
+
67
+ def player_commendations(options = {})
68
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::PlayerCommendations)
69
+ end
70
+
71
+ def player_match_history(options = {})
72
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::PlayerMatchHistory)
73
+ end
74
+
75
+ def psr_arena(options = {})
76
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::PlayerServiceRecordsArena)
77
+ end
78
+
79
+ def psr_campaign(options = {})
80
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::PlayerServiceRecordsCampaign)
81
+ end
82
+
83
+ def psr_custom(options = {})
84
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::PlayerServiceRecordsCustom)
85
+ end
86
+
87
+ def psr_warzone(options = {})
88
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::PlayerServiceRecordsWarzone)
89
+ end
90
+
91
+ def pc_match_result_custom(options = {})
92
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::PcMatchResultCustom)
93
+ end
94
+
95
+ def pc_player_match_history(options = {})
96
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::PcPlayerMatchHistory)
97
+ end
98
+
99
+ def pc_psr_custom(options = {})
100
+ merge_options_and_return_obj(options, Halo::Stats::Halo5::PcPlayerServiceRecordsWarzone)
101
+ end
102
+
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Ugc
3
+ module Halo5
4
+ class PlayerGameVariant < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(player, variant, options = {})
11
+ get_data("#{@endpoint}/#{player}/gamevariants/#{variant}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end