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 Metadata
3
+ module Halo5
4
+ class GameVariant < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(id, options = {})
11
+ get_data("#{@endpoint}/game-variants/#{id}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Metadata
3
+ module Halo5
4
+ class Impulses < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def all(options = {})
11
+ get_data("#{@endpoint}/impulses", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Metadata
3
+ module Halo5
4
+ class MapVariant < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(id, options = {})
11
+ get_data("#{@endpoint}/map-variants/#{id}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Metadata
3
+ module Halo5
4
+ class Maps < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def all(options = {})
11
+ get_data("#{@endpoint}/maps", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Metadata
3
+ module Halo5
4
+ class Medals < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def all(options = {})
11
+ get_data("#{@endpoint}/medals", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Metadata
3
+ module Halo5
4
+ class Playlist < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def all(options = {})
11
+ get_data("#{@endpoint}/playlist", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Metadata
3
+ module Halo5
4
+ class Requisition < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(id, options = {})
11
+ get_data("#{@endpoint}/requisitions/#{id}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Metadata
3
+ module Halo5
4
+ class RequisitionPack < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(id, options = {})
11
+ get_data("#{@endpoint}/requisitions/#{id}", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Metadata
3
+ module Halo5
4
+ class Seasons < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def all(options = {})
11
+ get_data("#{@endpoint}/seasons", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Metadata
3
+ module Halo5
4
+ class Skulls < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def all(options = {})
11
+ get_data("#{@endpoint}/skulls", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Metadata
3
+ module Halo5
4
+ class SpartanRanks < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def all(options = {})
11
+ get_data("#{@endpoint}/spartan-ranks", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Metadata
3
+ module Halo5
4
+ class TeamColors < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def all(options = {})
11
+ get_data("#{@endpoint}/team-colors", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Metadata
3
+ module Halo5
4
+ class Vehicles < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def all(options = {})
11
+ get_data("#{@endpoint}/vehicles", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Metadata
3
+ module Halo5
4
+ class Weapons < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def all(options = {})
11
+ get_data("#{@endpoint}/weapons", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,120 @@
1
+ require 'halo-api/client'
2
+
3
+ require 'halo-api/modules/metadata/halo5/campaign_missions'
4
+ require 'halo-api/modules/metadata/halo5/commendations'
5
+ require 'halo-api/modules/metadata/halo5/csr_designations'
6
+ require 'halo-api/modules/metadata/halo5/enemies'
7
+ require 'halo-api/modules/metadata/halo5/flexible_stats'
8
+ require 'halo-api/modules/metadata/halo5/game_base_variants'
9
+ require 'halo-api/modules/metadata/halo5/game_variant'
10
+ require 'halo-api/modules/metadata/halo5/impulses'
11
+ require 'halo-api/modules/metadata/halo5/map_variant'
12
+ require 'halo-api/modules/metadata/halo5/maps'
13
+ require 'halo-api/modules/metadata/halo5/medals'
14
+ require 'halo-api/modules/metadata/halo5/playlist'
15
+ require 'halo-api/modules/metadata/halo5/requisition'
16
+ require 'halo-api/modules/metadata/halo5/requisition_pack'
17
+ require 'halo-api/modules/metadata/halo5/seasons'
18
+ require 'halo-api/modules/metadata/halo5/skulls'
19
+ require 'halo-api/modules/metadata/halo5/spartan_ranks'
20
+ require 'halo-api/modules/metadata/halo5/team_colors'
21
+ require 'halo-api/modules/metadata/halo5/vehicles'
22
+ require 'halo-api/modules/metadata/halo5/weapons'
23
+
24
+
25
+ module Halo
26
+ module Metadata
27
+
28
+ # Halo 5 Metadata endpoints
29
+ class Halo5MetadataClient < Client
30
+
31
+ def initialize(options = {})
32
+ client_settings = { endpoint: '/metadata/h5/metadata' }
33
+ client_settings = client_settings.merge(options)
34
+
35
+ super(client_settings)
36
+ end
37
+
38
+ def campaign_missions(options = {})
39
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::CampaignMissions)
40
+ end
41
+
42
+ def commendations(options = {})
43
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::Commendations)
44
+ end
45
+
46
+ def csr_designations(options = {})
47
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::CsrDesignations)
48
+ end
49
+
50
+ def enemies(options = {})
51
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::Enemies)
52
+ end
53
+
54
+ def flexible_stats(options = {})
55
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::FlexibleStats)
56
+ end
57
+
58
+ def game_base_variants(options = {})
59
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::GameBaseVariants)
60
+ end
61
+
62
+ def game_variant(options = {})
63
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::GameVariant)
64
+ end
65
+
66
+ def impulses(options = {})
67
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::Impulses)
68
+ end
69
+
70
+ def map_variant(options = {})
71
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::MapVariant)
72
+ end
73
+
74
+ def maps(options = {})
75
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::Maps)
76
+ end
77
+
78
+ def medals(options = {})
79
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::Medals)
80
+ end
81
+
82
+ def playlist(options = {})
83
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::Playlist)
84
+ end
85
+
86
+ def requisition(options = {})
87
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::Requisition)
88
+ end
89
+
90
+ def requisition_pack(options = {})
91
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::RequisitionPack)
92
+ end
93
+
94
+ def seasons(options = {})
95
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::Seasons)
96
+ end
97
+
98
+ def skulls(options = {})
99
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::Skulls)
100
+ end
101
+
102
+ def spartan_ranks(options = {})
103
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::SpartanRanks)
104
+ end
105
+
106
+ def team_colors(options = {})
107
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::TeamColors)
108
+ end
109
+
110
+ def vehicles(options = {})
111
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::Vehicles)
112
+ end
113
+
114
+ def weapons(options = {})
115
+ merge_options_and_return_obj(options, Halo::Metadata::Halo5::Weapons)
116
+ end
117
+ end
118
+
119
+ end
120
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Profile
3
+ module Halo5
4
+ class PlayerAppearance < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(player, options = {})
11
+ get_data("#{@endpoint}/#{player}/appearance", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Profile
3
+ module Halo5
4
+ class PlayerEmblemImage < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(player, options = {})
11
+ get_data("#{@endpoint}/#{player}/emblem", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Halo
2
+ module Profile
3
+ module Halo5
4
+ class PlayerSpartanImage < Halo::APIResponse
5
+
6
+ def initialize(options = {})
7
+ super(options)
8
+ end
9
+
10
+ def find(player, options = {})
11
+ get_data("#{@endpoint}/#{player}/spartan", options)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,36 @@
1
+ require 'halo-api/client'
2
+
3
+ require 'halo-api/modules/profile/halo5/player_appearance'
4
+ require 'halo-api/modules/profile/halo5/player_emblem_image'
5
+ require 'halo-api/modules/profile/halo5/player_spartan_image'
6
+
7
+
8
+ module Halo
9
+ module Profile
10
+
11
+ # Halo 5 Profile endpoints
12
+ class Halo5ProfileClient < Client
13
+
14
+ def initialize(options = {})
15
+ client_settings = { endpoint: '/profile/h5/profiles' }
16
+ client_settings = client_settings.merge(options)
17
+
18
+ super(client_settings)
19
+ end
20
+
21
+ def player_appearance(options = {})
22
+ merge_options_and_return_obj(options, Halo::Profile::Halo5::PlayerAppearance)
23
+ end
24
+
25
+ def player_emblem_image(options = {})
26
+ merge_options_and_return_obj(options, Halo::Profile::Halo5::PlayerEmblemImage)
27
+ end
28
+
29
+ def player_spartan_image(options = {})
30
+ merge_options_and_return_obj(options, Halo::Profile::Halo5::PlayerSpartanImage)
31
+ end
32
+
33
+ end
34
+
35
+ end
36
+ end