restiny 3.0.0 → 3.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.
- checksums.yaml +4 -4
- data/lib/restiny/errors.rb +3 -0
- data/lib/restiny/version.rb +1 -1
- data/lib/restiny.rb +21 -7
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1d08e2f02105ea2a6330679fe9cae0534bbb4a7d3c0fb7803d43fc70ae4ebdd
|
4
|
+
data.tar.gz: 80ab03d4fdbbf65ae276265f89e7c00d9a4f55870fdc0398893e45d429f44179
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4abf818ba76d6f6fefbf2070a1d56162462ac2d5a22dae7725383c34ae884d901be3539b78342510beaa93ddc9c3a554e90fcee473825bdcad144ab9a88af8c5
|
7
|
+
data.tar.gz: 78f09f843a2e5c00067b95e1e5aad5a938d181c56081b744e1ae0638605af65548de6d4b117d3667e326bc9ed2ef61aaa80b673990f15cc490045aa2aa9f95ca
|
data/lib/restiny/errors.rb
CHANGED
data/lib/restiny/version.rb
CHANGED
data/lib/restiny.rb
CHANGED
@@ -23,7 +23,7 @@ module Restiny
|
|
23
23
|
BUNGIE_URL = "https://www.bungie.net"
|
24
24
|
API_BASE_URL = BUNGIE_URL + "/platform"
|
25
25
|
|
26
|
-
attr_accessor :api_key, :oauth_state, :oauth_client_id, :access_token
|
26
|
+
attr_accessor :api_key, :oauth_state, :oauth_client_id, :access_token, :user_agent
|
27
27
|
|
28
28
|
# OAuth methods
|
29
29
|
|
@@ -55,7 +55,10 @@ module Restiny
|
|
55
55
|
|
56
56
|
live_version = result.dig("version")
|
57
57
|
|
58
|
-
|
58
|
+
@manifests ||= {}
|
59
|
+
@manifest_versions ||= {}
|
60
|
+
|
61
|
+
if force_download || @manifests[locale].nil? || @manifest_versions[locale] != live_version
|
59
62
|
url = BUNGIE_URL + result.dig("mobileWorldContentPaths", locale)
|
60
63
|
|
61
64
|
zipped_file = Down.download(url)
|
@@ -63,12 +66,12 @@ module Restiny
|
|
63
66
|
|
64
67
|
Zip::File.open(zipped_file) { |file| file.first.extract(database_file_path) }
|
65
68
|
|
66
|
-
@
|
67
|
-
@
|
69
|
+
@manifests[locale] = Manifest.new(database_file_path, live_version)
|
70
|
+
@manifest_versions[locale] = live_version
|
68
71
|
end
|
69
72
|
|
70
|
-
@
|
71
|
-
rescue Down::Error =>
|
73
|
+
@manifests[locale]
|
74
|
+
rescue Down::Error => error
|
72
75
|
raise Restiny::NetworkError.new("Unable to download the manifest file", error.response.code)
|
73
76
|
rescue Zip::Error => error
|
74
77
|
raise Restiny::Error.new("Unable to unzip the manifest file (#{error})")
|
@@ -113,6 +116,17 @@ module Restiny
|
|
113
116
|
api_get("User/GetMembershipsById/#{membership_id}/#{membership_type}/")
|
114
117
|
end
|
115
118
|
|
119
|
+
def get_primary_membership(parent_membership_id, use_fallback: true)
|
120
|
+
result = get_user_memberships_by_id(parent_membership_id)
|
121
|
+
return nil if result.nil? || result["primaryMembershipId"].nil?
|
122
|
+
|
123
|
+
result["destinyMemberships"].each do |membership|
|
124
|
+
return membership if membership["membershipID"] == result["primaryMembershipId"]
|
125
|
+
end
|
126
|
+
|
127
|
+
return result["destinyMemberships"][0] if use_fallback
|
128
|
+
end
|
129
|
+
|
116
130
|
def search_player_by_bungie_name(name, membership_type: Platform::ALL)
|
117
131
|
display_name, display_name_code = name.split("#")
|
118
132
|
if display_name.nil? || display_name_code.nil?
|
@@ -153,7 +167,7 @@ module Restiny
|
|
153
167
|
end
|
154
168
|
|
155
169
|
def default_headers
|
156
|
-
{ "User-Agent": "restiny v#{Restiny::VERSION}" }
|
170
|
+
{ "User-Agent": @user_agent || "restiny v#{Restiny::VERSION}" }
|
157
171
|
end
|
158
172
|
|
159
173
|
def api_connection
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: restiny
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Bogan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-08-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|