halo-api 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +1 -0
  3. data/halo-api.gemspec +1 -0
  4. data/lib/halo-api.rb +12 -12
  5. data/lib/halo-api/api_response.rb +0 -1
  6. data/lib/halo-api/client.rb +3 -7
  7. data/lib/halo-api/{modules/metadata → clients}/halo5_metadata_client.rb +2 -2
  8. data/lib/halo-api/{modules/profile → clients}/halo5_profile_client.rb +2 -2
  9. data/lib/halo-api/{modules/stats → clients}/halo5_stats_client.rb +2 -2
  10. data/lib/halo-api/{modules/ugc → clients}/halo5_ugc_client.rb +2 -2
  11. data/lib/halo-api/{modules/metadata → clients}/halo_wars2_metadata_client.rb +2 -2
  12. data/lib/halo-api/{modules/stats → clients}/halo_wars2_stats_client.rb +1 -1
  13. data/lib/halo-api/modules/metadata/halo5/campaign_missions.rb +2 -2
  14. data/lib/halo-api/modules/metadata/halo5/commendations.rb +2 -2
  15. data/lib/halo-api/modules/metadata/halo5/csr_designations.rb +2 -2
  16. data/lib/halo-api/modules/metadata/halo5/enemies.rb +2 -2
  17. data/lib/halo-api/modules/metadata/halo5/flexible_stats.rb +2 -2
  18. data/lib/halo-api/modules/metadata/halo5/game_base_variants.rb +2 -2
  19. data/lib/halo-api/modules/metadata/halo5/game_variant.rb +2 -2
  20. data/lib/halo-api/modules/metadata/halo5/impulses.rb +2 -2
  21. data/lib/halo-api/modules/metadata/halo5/map_variant.rb +2 -2
  22. data/lib/halo-api/modules/metadata/halo5/maps.rb +2 -2
  23. data/lib/halo-api/modules/metadata/halo5/medals.rb +2 -2
  24. data/lib/halo-api/modules/metadata/halo5/playlist.rb +2 -2
  25. data/lib/halo-api/modules/metadata/halo5/requisition.rb +2 -2
  26. data/lib/halo-api/modules/metadata/halo5/requisition_pack.rb +2 -2
  27. data/lib/halo-api/modules/metadata/halo5/seasons.rb +2 -2
  28. data/lib/halo-api/modules/metadata/halo5/skulls.rb +2 -2
  29. data/lib/halo-api/modules/metadata/halo5/spartan_ranks.rb +2 -2
  30. data/lib/halo-api/modules/metadata/halo5/team_colors.rb +2 -2
  31. data/lib/halo-api/modules/metadata/halo5/vehicles.rb +2 -2
  32. data/lib/halo-api/modules/metadata/halo5/weapons.rb +2 -2
  33. data/lib/halo-api/modules/metadata/halo_wars2/campaign_levels.rb +2 -2
  34. data/lib/halo-api/modules/metadata/halo_wars2/campaign_logs.rb +2 -2
  35. data/lib/halo-api/modules/metadata/halo_wars2/card_keywords.rb +2 -2
  36. data/lib/halo-api/modules/metadata/halo_wars2/cards.rb +2 -2
  37. data/lib/halo-api/modules/metadata/halo_wars2/csr_designations.rb +2 -2
  38. data/lib/halo-api/modules/metadata/halo_wars2/difficulties.rb +2 -2
  39. data/lib/halo-api/modules/metadata/halo_wars2/game_object_categories.rb +2 -2
  40. data/lib/halo-api/modules/metadata/halo_wars2/game_objects.rb +2 -2
  41. data/lib/halo-api/modules/metadata/halo_wars2/leader_powers.rb +2 -2
  42. data/lib/halo-api/modules/metadata/halo_wars2/leaders.rb +2 -2
  43. data/lib/halo-api/modules/metadata/halo_wars2/maps.rb +2 -2
  44. data/lib/halo-api/modules/metadata/halo_wars2/packs.rb +2 -2
  45. data/lib/halo-api/modules/metadata/halo_wars2/playlists.rb +2 -2
  46. data/lib/halo-api/modules/metadata/halo_wars2/seasons.rb +2 -2
  47. data/lib/halo-api/modules/metadata/halo_wars2/spartan_ranks.rb +2 -2
  48. data/lib/halo-api/modules/metadata/halo_wars2/techs.rb +2 -2
  49. data/lib/halo-api/modules/profile/halo5/player_appearance.rb +2 -2
  50. data/lib/halo-api/modules/profile/halo5/player_emblem_image.rb +2 -2
  51. data/lib/halo-api/modules/profile/halo5/player_spartan_image.rb +2 -2
  52. data/lib/halo-api/modules/stats/halo5/company.rb +2 -2
  53. data/lib/halo-api/modules/stats/halo5/company_commendations.rb +2 -2
  54. data/lib/halo-api/modules/stats/halo5/leaderboard_player_csr.rb +2 -2
  55. data/lib/halo-api/modules/stats/halo5/match_events.rb +2 -2
  56. data/lib/halo-api/modules/stats/halo5/match_result_arena.rb +2 -2
  57. data/lib/halo-api/modules/stats/halo5/match_result_campaign.rb +2 -2
  58. data/lib/halo-api/modules/stats/halo5/match_result_custom.rb +2 -2
  59. data/lib/halo-api/modules/stats/halo5/match_result_warzone.rb +2 -2
  60. data/lib/halo-api/modules/stats/halo5/pc_match_result_custom.rb +2 -2
  61. data/lib/halo-api/modules/stats/halo5/pc_player_match_history.rb +2 -2
  62. data/lib/halo-api/modules/stats/halo5/pc_player_service_records_custom.rb +2 -2
  63. data/lib/halo-api/modules/stats/halo5/player_commendations.rb +2 -2
  64. data/lib/halo-api/modules/stats/halo5/player_match_history.rb +2 -2
  65. data/lib/halo-api/modules/stats/halo5/player_service_records_arena.rb +2 -2
  66. data/lib/halo-api/modules/stats/halo5/player_service_records_campaign.rb +2 -2
  67. data/lib/halo-api/modules/stats/halo5/player_service_records_custom.rb +2 -2
  68. data/lib/halo-api/modules/stats/halo5/player_service_records_warzone.rb +2 -2
  69. data/lib/halo-api/modules/stats/halo_wars2/leaderboard_player_csr.rb +2 -2
  70. data/lib/halo-api/modules/stats/halo_wars2/match_events.rb +2 -2
  71. data/lib/halo-api/modules/stats/halo_wars2/match_result.rb +2 -2
  72. data/lib/halo-api/modules/stats/halo_wars2/player_campaign_progress.rb +2 -2
  73. data/lib/halo-api/modules/stats/halo_wars2/player_match_history.rb +2 -2
  74. data/lib/halo-api/modules/stats/halo_wars2/player_playlist_ratings.rb +2 -2
  75. data/lib/halo-api/modules/stats/halo_wars2/player_season_stats_summary.rb +2 -2
  76. data/lib/halo-api/modules/stats/halo_wars2/player_stats_summary.rb +2 -2
  77. data/lib/halo-api/modules/stats/halo_wars2/player_xp.rb +2 -2
  78. data/lib/halo-api/modules/ugc/halo5/player_game_variant.rb +2 -2
  79. data/lib/halo-api/modules/ugc/halo5/player_game_variants.rb +2 -2
  80. data/lib/halo-api/modules/ugc/halo5/player_map_variant.rb +2 -2
  81. data/lib/halo-api/modules/ugc/halo5/player_map_variants.rb +2 -2
  82. data/lib/halo-api/version.rb +1 -1
  83. metadata +27 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2946f96489461ebd8f3f73857f74cff7fe0b04dd
4
- data.tar.gz: 2c09a344108386e70b3aced521c3e12cc70b73c8
3
+ metadata.gz: 160879805c22e91b7548e66fa7664c1967bfe792
4
+ data.tar.gz: 113d6084e6798d33bbac99bb238a4b18c9a38ca5
5
5
  SHA512:
6
- metadata.gz: a7f748a6b1f2903c919c86119e295dabb597959f63b1e4370ac7ca8fbdb111f33ff14c7bf272ea8a74da0e2beae9ecaecd99c55f4c3febe3579de616f35d3ac1
7
- data.tar.gz: 9d3770d344cfa344489f0f38738ba42a71849675fe69e4805caca6257f7edd956d2b97610b9eef4b4542caa0e7d4a34851f0f002f0ee667c5c695e046063d64a
6
+ metadata.gz: fcf6ec4ae19b77839ff132ffe57ace8d26ab4b534615b501a6da151965db9aad5ddfa0e6b63a14a892d8a77a4f7ea4fb8d2c965b2e1edc2b0b723c57a9d9963f
7
+ data.tar.gz: cea7f4dff7ece594b1616c0d23ecc9c6b900a5250ea79318913e9f4f2cd2f473031bc8a20cfb6c35cef9b92a0dc1f60ea8e9a00925153d92dcbae9f479f37a8f
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
1
  --format documentation
2
2
  --color
3
+ --require spec_helper
data/halo-api.gemspec CHANGED
@@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.required_ruby_version = '>= 2.0.0'
27
27
 
28
28
  spec.add_runtime_dependency 'httparty', '~> 0.15.6'
29
+ spec.add_runtime_dependency 'addressable', '~> 2.5', '>= 2.5.2'
29
30
 
30
31
  spec.add_development_dependency 'bundler', '~> 1.15'
31
32
  spec.add_development_dependency 'rake', '~> 12.0'
data/lib/halo-api.rb CHANGED
@@ -3,12 +3,12 @@ require 'halo-api/configuration'
3
3
  require 'halo-api/client'
4
4
  require 'halo-api/api_response'
5
5
 
6
- require 'halo-api/modules/metadata/halo5_metadata_client'
7
- require 'halo-api/modules/metadata/halo_wars2_metadata_client'
8
- require 'halo-api/modules/profile/halo5_profile_client'
9
- require 'halo-api/modules/stats/halo5_stats_client'
10
- require 'halo-api/modules/stats/halo_wars2_stats_client'
11
- require 'halo-api/modules/ugc/halo5_ugc_client'
6
+ require 'halo-api/clients/halo5_metadata_client'
7
+ require 'halo-api/clients/halo_wars2_metadata_client'
8
+ require 'halo-api/clients/halo5_profile_client'
9
+ require 'halo-api/clients/halo5_stats_client'
10
+ require 'halo-api/clients/halo_wars2_stats_client'
11
+ require 'halo-api/clients/halo5_ugc_client'
12
12
 
13
13
 
14
14
  module Halo
@@ -17,32 +17,32 @@ module Halo
17
17
  class << self
18
18
  # Halo 5 Metadata Client
19
19
  def h5_metadata(options = {})
20
- Halo::Metadata::Halo5MetadataClient.new(options)
20
+ Halo::Clients::Halo5MetadataClient.new(options)
21
21
  end
22
22
 
23
23
  # Halo Wars 2 Metadata Client
24
24
  def hw2_metadata(options = {})
25
- Halo::Metadata::HaloWars2MetadataClient.new(options)
25
+ Halo::Clients::HaloWars2MetadataClient.new(options)
26
26
  end
27
27
 
28
28
  # Halo 5 Profile Client
29
29
  def h5_profile(options = {})
30
- Halo::Profile::Halo5ProfileClient.new(options)
30
+ Halo::Clients::Halo5ProfileClient.new(options)
31
31
  end
32
32
 
33
33
  # Halo 5 Stats Client
34
34
  def h5_stats(options = {})
35
- Halo::Stats::Halo5StatsClient.new(options)
35
+ Halo::Clients::Halo5StatsClient.new(options)
36
36
  end
37
37
 
38
38
  # Halo Wars 2 Stats Client
39
39
  def hw2_stats(options = {})
40
- Halo::Stats::HaloWars2StatsClient.new(options)
40
+ Halo::Clients::HaloWars2StatsClient.new(options)
41
41
  end
42
42
 
43
43
  # Halo 5 UGC Client
44
44
  def h5_ugc(options = {})
45
- Halo::Ugc::Halo5UgcClient.new(options)
45
+ Halo::Clients::Halo5UgcClient.new(options)
46
46
  end
47
47
  end
48
48
 
@@ -6,7 +6,6 @@ module Halo
6
6
  def initialize(options = {})
7
7
  @data = []
8
8
  @client = options[:client]
9
- @endpoint = options[:client].endpoint
10
9
  end
11
10
 
12
11
  def get_data(path, options)
@@ -1,6 +1,7 @@
1
1
  require 'halo-api/version'
2
2
  require 'halo-api/api_response'
3
3
  require 'httparty'
4
+ require 'addressable/uri'
4
5
 
5
6
 
6
7
  module Halo
@@ -19,11 +20,8 @@ module Halo
19
20
  Halo::Configuration::OPTIONS.each do |key|
20
21
  send("#{key}=", options[key])
21
22
  end
22
- end
23
23
 
24
- def endpoint
25
- raise 'Invalid API Endpoint' if @endpoint.nil?
26
- @endpoint
24
+ self.class.base_uri "https://www.haloapi.com#{@endpoint}"
27
25
  end
28
26
 
29
27
  def get(path, params = {})
@@ -37,12 +35,10 @@ module Halo
37
35
  'Accept-Language' => @region
38
36
  }
39
37
 
40
- url = "https://www.haloapi.com#{path}"
41
-
42
38
  options[:headers] = headers unless headers.empty?
43
39
  options[:query] = params unless params.empty?
44
40
 
45
- self.class.send(verb, url, options)
41
+ self.class.send(verb, Addressable::URI.encode(path), options)
46
42
  end
47
43
 
48
44
 
@@ -23,9 +23,9 @@ require 'halo-api/modules/metadata/halo5/weapons'
23
23
 
24
24
 
25
25
  module Halo
26
- module Metadata
26
+ module Clients
27
27
 
28
- # Halo 5 Metadata endpoints
28
+ # Halo 5 Metadata Client
29
29
  class Halo5MetadataClient < Client
30
30
 
31
31
  def initialize(options = {})
@@ -6,9 +6,9 @@ require 'halo-api/modules/profile/halo5/player_spartan_image'
6
6
 
7
7
 
8
8
  module Halo
9
- module Profile
9
+ module Clients
10
10
 
11
- # Halo 5 Profile endpoints
11
+ # Halo 5 Profile Client
12
12
  class Halo5ProfileClient < Client
13
13
 
14
14
  def initialize(options = {})
@@ -20,9 +20,9 @@ require 'halo-api/modules/stats/halo5/pc_player_service_records_custom'
20
20
 
21
21
 
22
22
  module Halo
23
- module Stats
23
+ module Clients
24
24
 
25
- # Halo 5 Stats endpoints
25
+ # Halo 5 Stats Client
26
26
  class Halo5StatsClient < Client
27
27
 
28
28
  def initialize(options = {})
@@ -7,9 +7,9 @@ require 'halo-api/modules/ugc/halo5/player_map_variants'
7
7
 
8
8
 
9
9
  module Halo
10
- module Ugc
10
+ module Clients
11
11
 
12
- # Halo 5 Ugc endpoints
12
+ # Halo 5 Ugc Client
13
13
  class Halo5UgcClient < Client
14
14
 
15
15
  def initialize(options = {})
@@ -19,13 +19,13 @@ require 'halo-api/modules/metadata/halo_wars2/techs'
19
19
 
20
20
 
21
21
  module Halo
22
- module Metadata
22
+ module Clients
23
23
 
24
24
  # Halo Wars 2 Metadata Client
25
25
  class HaloWars2MetadataClient < Client
26
26
 
27
27
  def initialize(options = {})
28
- client_settings = {endpoint: '/metadata/hw2'}
28
+ client_settings = { endpoint: '/metadata/hw2' }
29
29
  client_settings = client_settings.merge(options)
30
30
 
31
31
  super(client_settings)
@@ -12,7 +12,7 @@ require 'halo-api/modules/stats/halo_wars2/player_xp'
12
12
 
13
13
 
14
14
  module Halo
15
- module Stats
15
+ module Clients
16
16
 
17
17
  # Halo Wars 2 Stats Client
18
18
  class HaloWars2StatsClient < Client
@@ -1,14 +1,14 @@
1
1
  module Halo
2
2
  module Metadata
3
3
  module Halo5
4
- class CampaignMissions < Halo::APIResponse
4
+ class CampaignMissions < APIResponse
5
5
 
6
6
  def initialize(options = {})
7
7
  super(options)
8
8
  end
9
9
 
10
10
  def all(options = {})
11
- get_data("#{@endpoint}/campaign-missions", options)
11
+ get_data('/campaign-missions', options)
12
12
  end
13
13
 
14
14
  end
@@ -1,14 +1,14 @@
1
1
  module Halo
2
2
  module Metadata
3
3
  module Halo5
4
- class Commendations < Halo::APIResponse
4
+ class Commendations < APIResponse
5
5
 
6
6
  def initialize(options = {})
7
7
  super(options)
8
8
  end
9
9
 
10
10
  def all(options = {})
11
- get_data("#{@endpoint}/commendations", options)
11
+ get_data('/commendations', options)
12
12
  end
13
13
 
14
14
  end
@@ -1,14 +1,14 @@
1
1
  module Halo
2
2
  module Metadata
3
3
  module Halo5
4
- class CsrDesignations < Halo::APIResponse
4
+ class CsrDesignations < APIResponse
5
5
 
6
6
  def initialize(options = {})
7
7
  super(options)
8
8
  end
9
9
 
10
10
  def all(options = {})
11
- get_data("#{@endpoint}/csr-designations", options)
11
+ get_data('/csr-designations', options)
12
12
  end
13
13
 
14
14
  end
@@ -1,14 +1,14 @@
1
1
  module Halo
2
2
  module Metadata
3
3
  module Halo5
4
- class Enemies < Halo::APIResponse
4
+ class Enemies < APIResponse
5
5
 
6
6
  def initialize(options = {})
7
7
  super(options)
8
8
  end
9
9
 
10
10
  def all(options = {})
11
- get_data("#{@endpoint}/enemies", options)
11
+ get_data('/enemies', options)
12
12
  end
13
13
 
14
14
  end
@@ -1,14 +1,14 @@
1
1
  module Halo
2
2
  module Metadata
3
3
  module Halo5
4
- class FlexibleStats < Halo::APIResponse
4
+ class FlexibleStats < APIResponse
5
5
 
6
6
  def initialize(options = {})
7
7
  super(options)
8
8
  end
9
9
 
10
10
  def all(options = {})
11
- get_data("#{@endpoint}/flexible-stats", options)
11
+ get_data('/flexible-stats', options)
12
12
  end
13
13
 
14
14
  end
@@ -1,14 +1,14 @@
1
1
  module Halo
2
2
  module Metadata
3
3
  module Halo5
4
- class GameBaseVariants < Halo::APIResponse
4
+ class GameBaseVariants < APIResponse
5
5
 
6
6
  def initialize(options = {})
7
7
  super(options)
8
8
  end
9
9
 
10
10
  def all(options = {})
11
- get_data("#{@endpoint}/game-base-variants", options)
11
+ get_data('/game-base-variants', options)
12
12
  end
13
13
 
14
14
  end
@@ -1,14 +1,14 @@
1
1
  module Halo
2
2
  module Metadata
3
3
  module Halo5
4
- class GameVariant < Halo::APIResponse
4
+ class GameVariant < APIResponse
5
5
 
6
6
  def initialize(options = {})
7
7
  super(options)
8
8
  end
9
9
 
10
10
  def find(id, options = {})
11
- get_data("#{@endpoint}/game-variants/#{id}", options)
11
+ get_data("/game-variants/#{id}", options)
12
12
  end
13
13
 
14
14
  end
@@ -1,14 +1,14 @@
1
1
  module Halo
2
2
  module Metadata
3
3
  module Halo5
4
- class Impulses < Halo::APIResponse
4
+ class Impulses < APIResponse
5
5
 
6
6
  def initialize(options = {})
7
7
  super(options)
8
8
  end
9
9
 
10
10
  def all(options = {})
11
- get_data("#{@endpoint}/impulses", options)
11
+ get_data('/impulses', options)
12
12
  end
13
13
 
14
14
  end
@@ -1,14 +1,14 @@
1
1
  module Halo
2
2
  module Metadata
3
3
  module Halo5
4
- class MapVariant < Halo::APIResponse
4
+ class MapVariant < APIResponse
5
5
 
6
6
  def initialize(options = {})
7
7
  super(options)
8
8
  end
9
9
 
10
10
  def find(id, options = {})
11
- get_data("#{@endpoint}/map-variants/#{id}", options)
11
+ get_data("/map-variants/#{id}", options)
12
12
  end
13
13
 
14
14
  end
@@ -1,14 +1,14 @@
1
1
  module Halo
2
2
  module Metadata
3
3
  module Halo5
4
- class Maps < Halo::APIResponse
4
+ class Maps < APIResponse
5
5
 
6
6
  def initialize(options = {})
7
7
  super(options)
8
8
  end
9
9
 
10
10
  def all(options = {})
11
- get_data("#{@endpoint}/maps", options)
11
+ get_data('/maps', options)
12
12
  end
13
13
 
14
14
  end
@@ -1,14 +1,14 @@
1
1
  module Halo
2
2
  module Metadata
3
3
  module Halo5
4
- class Medals < Halo::APIResponse
4
+ class Medals < APIResponse
5
5
 
6
6
  def initialize(options = {})
7
7
  super(options)
8
8
  end
9
9
 
10
10
  def all(options = {})
11
- get_data("#{@endpoint}/medals", options)
11
+ get_data('/medals', options)
12
12
  end
13
13
 
14
14
  end
@@ -1,14 +1,14 @@
1
1
  module Halo
2
2
  module Metadata
3
3
  module Halo5
4
- class Playlist < Halo::APIResponse
4
+ class Playlist < APIResponse
5
5
 
6
6
  def initialize(options = {})
7
7
  super(options)
8
8
  end
9
9
 
10
10
  def all(options = {})
11
- get_data("#{@endpoint}/playlist", options)
11
+ get_data('/playlist', options)
12
12
  end
13
13
 
14
14
  end
@@ -1,14 +1,14 @@
1
1
  module Halo
2
2
  module Metadata
3
3
  module Halo5
4
- class Requisition < Halo::APIResponse
4
+ class Requisition < APIResponse
5
5
 
6
6
  def initialize(options = {})
7
7
  super(options)
8
8
  end
9
9
 
10
10
  def find(id, options = {})
11
- get_data("#{@endpoint}/requisitions/#{id}", options)
11
+ get_data("/requisitions/#{id}", options)
12
12
  end
13
13
 
14
14
  end
@@ -1,14 +1,14 @@
1
1
  module Halo
2
2
  module Metadata
3
3
  module Halo5
4
- class RequisitionPack < Halo::APIResponse
4
+ class RequisitionPack < APIResponse
5
5
 
6
6
  def initialize(options = {})
7
7
  super(options)
8
8
  end
9
9
 
10
10
  def find(id, options = {})
11
- get_data("#{@endpoint}/requisitions/#{id}", options)
11
+ get_data("/requisition-packs/#{id}", options)
12
12
  end
13
13
 
14
14
  end