halo-api 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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