dblruby 1.1.3 → 1.2.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/dblruby.rb +33 -7
- data/lib/dblruby/bot.rb +3 -12
- data/lib/dblruby/user.rb +5 -10
- data/lib/dblruby/weekend.rb +3 -3
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e6da53133ead002925bdd344bb9367f2f979dd4b2ab5f1232f2c6e2bd0b46d4
|
4
|
+
data.tar.gz: 340bf140b1aea90cf31dab26088c95235e444038940906645f028261ede5954b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45c19410d54c87abdf52b19d805533f4c64d39b1ef23f8090c838a1a986e02da771dd52757419023761bedf2eb0da644f30cd960a9f07a6954012e892defd025
|
7
|
+
data.tar.gz: fafde3a5a440c066f74bf52ff171a21dafcb8f9279d89172a7ab32aa057729f115fc870ca7b29c8da18873af4f45e3e8481cf4b99567074ec3a250ebf96979d4
|
data/lib/dblruby.rb
CHANGED
@@ -13,14 +13,25 @@ class DBLRuby
|
|
13
13
|
end
|
14
14
|
|
15
15
|
# Initialize stats
|
16
|
+
# @return [Stats] the new stats object
|
16
17
|
def stats
|
17
18
|
Stats.new(@api, @id)
|
18
19
|
end
|
19
20
|
|
20
21
|
# Load a bot.
|
21
22
|
# @param id [Integer, String] Integer/String ID of the bot you're requesting.
|
23
|
+
# @raise [DBLRuby::Errors::InvalidBot] if a 404 error is returned.
|
24
|
+
# @return [Bot] the new Bot object
|
22
25
|
def bot(id)
|
23
|
-
|
26
|
+
url = "https://top.gg/api/bots/#{id}"
|
27
|
+
data = JSON.parse(RestClient.get(url, Authorization: api))
|
28
|
+
Bot.new(data)
|
29
|
+
rescue RestClient::Unauthorized
|
30
|
+
raise DBLRuby::Errors::InvalidAPIKey,
|
31
|
+
'The API returned a 401 error, I believe your token is invalid.'
|
32
|
+
rescue RestClient::NotFound
|
33
|
+
raise DBLRuby::Errors::InvalidBot,
|
34
|
+
'The API returned a 404 error! Is that bot listed?'
|
24
35
|
end
|
25
36
|
|
26
37
|
alias_method :loadbot, :bot
|
@@ -33,14 +44,23 @@ class DBLRuby
|
|
33
44
|
|
34
45
|
# Load a user
|
35
46
|
# @param id [Integer, String] Integer/String ID of the user you're requesting.
|
47
|
+
# @raise [DBLRuby::Errors::InvalidUser] if a 404 error is returned.
|
48
|
+
# @return [User] the new user object
|
36
49
|
def user(id)
|
37
|
-
|
50
|
+
url = "https://top.gg/api/users/#{id}"
|
51
|
+
data = JSON.parse(RestClient.get(url, Authorization: api))
|
52
|
+
User.new(data)
|
53
|
+
rescue RestClient::Unauthorized
|
54
|
+
raise DBLRuby::Errors::InvalidAPIKey,
|
55
|
+
'The API returned a 401 error, I believe your token is invalid.'
|
56
|
+
rescue RestClient::NotFound
|
57
|
+
raise DBLRuby::Errors::InvalidBot,
|
58
|
+
'The API returned a 404 error! Is that bot listed?'
|
38
59
|
end
|
39
60
|
|
40
61
|
alias_method :loaduser, :user
|
41
62
|
|
42
63
|
# Change the API key
|
43
|
-
# @param apikey [String] API Key of the bot, taken from the DBL.
|
44
64
|
attr_writer :api
|
45
65
|
|
46
66
|
alias_method :updateapikey, :api=
|
@@ -48,21 +68,27 @@ class DBLRuby
|
|
48
68
|
alias_method :apikey=, :api=
|
49
69
|
|
50
70
|
# Change the bot ID
|
51
|
-
# @param id [Integer, String] Integer/String of the bot's id.
|
52
71
|
attr_writer :id
|
53
72
|
|
54
73
|
alias_method :updateid, :id=
|
55
74
|
|
56
|
-
#
|
75
|
+
# The Weekend endpoint only really tells us if it's a weekend
|
76
|
+
# @see [weekend?] for a simplier version.
|
77
|
+
# @return [Weekend] the new Weekend object
|
57
78
|
def weekend
|
58
|
-
|
79
|
+
url = 'https://top.gg/api/weekend'
|
80
|
+
Weekend.new JSON.parse(RestClient.get(url))
|
59
81
|
end
|
60
82
|
|
61
|
-
#
|
83
|
+
# Returns true or false depending on if it's the "weekend"
|
84
|
+
# Weekend counts as 2 votes instead of one.
|
85
|
+
# @return [true, false] whether it's the weekend or not
|
62
86
|
def weekend?
|
63
87
|
weekend.weekend?
|
64
88
|
end
|
65
89
|
|
90
|
+
# Start a search
|
91
|
+
# @return [Search] the new search object
|
66
92
|
# @see Search#initialize
|
67
93
|
def search(search: nil, limit: 50, offset: 0, sort: nil, fields: nil)
|
68
94
|
Search.new(search: search, limit: limit, offset: offset, sort: sort, fields: fields)
|
data/lib/dblruby/bot.rb
CHANGED
@@ -1,18 +1,9 @@
|
|
1
1
|
# Find information about bots.
|
2
2
|
class DBLRuby::Bot
|
3
3
|
# Initialize the bot
|
4
|
-
# @param
|
5
|
-
|
6
|
-
|
7
|
-
if id.nil?
|
8
|
-
@data = data
|
9
|
-
else
|
10
|
-
url = "https://discordbots.org/api/bots/#{id}"
|
11
|
-
@data = JSON.parse(RestClient.get(url, Authorization: api))
|
12
|
-
end
|
13
|
-
rescue RestClient::NotFound
|
14
|
-
raise DBLRuby::Errors::InvalidBot,
|
15
|
-
'The API returned a 404 error! Is that bot listed?'
|
4
|
+
# @param data [JSON] Bot object in JSON form.
|
5
|
+
def initialize(data)
|
6
|
+
@data = data
|
16
7
|
end
|
17
8
|
|
18
9
|
# @return data in raw json form.
|
data/lib/dblruby/user.rb
CHANGED
@@ -1,14 +1,9 @@
|
|
1
1
|
# Find information about users.
|
2
2
|
class DBLRuby::User
|
3
3
|
# Initialize the user
|
4
|
-
# @param
|
5
|
-
|
6
|
-
|
7
|
-
url = "https://discordbots.org/api/users/#{id}"
|
8
|
-
@data = JSON.parse(RestClient.get(url, Authorization: api))
|
9
|
-
rescue RestClient::NotFound
|
10
|
-
raise DBLRuby::Errors::InvalidUser,
|
11
|
-
'The API returned a 404 error! Does that user exist?'
|
4
|
+
# @param data [JSON] User object in JSON form.
|
5
|
+
def initialize(data)
|
6
|
+
@data = data
|
12
7
|
end
|
13
8
|
|
14
9
|
# @return data in raw json form.
|
@@ -86,7 +81,7 @@ class DBLRuby::User
|
|
86
81
|
end
|
87
82
|
|
88
83
|
# The social usernames of the user.
|
89
|
-
# @return [
|
84
|
+
# @return [Hash<String, String>] the user's social links.
|
90
85
|
def social
|
91
86
|
@data['social']
|
92
87
|
end
|
@@ -94,7 +89,7 @@ class DBLRuby::User
|
|
94
89
|
# Does the user have any social links? True if so, false if not.
|
95
90
|
# @return [true, false] if the user has any social links.
|
96
91
|
def social?
|
97
|
-
|
92
|
+
@data['social'] != {}
|
98
93
|
end
|
99
94
|
|
100
95
|
# The youtube channel id of the user.
|
data/lib/dblruby/weekend.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# Find information about the weekend.
|
2
2
|
class DBLRuby::Weekend
|
3
3
|
# Initialize the weekend
|
4
|
-
|
5
|
-
|
6
|
-
@data =
|
4
|
+
# @param data [JSON] the weekend response in JSON form
|
5
|
+
def initialize(data)
|
6
|
+
@data = data
|
7
7
|
end
|
8
8
|
|
9
9
|
# @return data in raw json form.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dblruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chew
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -38,7 +38,7 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 2.1.0.rc1
|
41
|
-
description: A Ruby library for the
|
41
|
+
description: A Ruby library for the Top.gg (https://top.gg) API.
|
42
42
|
email: chew@chew.pw
|
43
43
|
executables: []
|
44
44
|
extensions: []
|
@@ -61,6 +61,7 @@ metadata:
|
|
61
61
|
homepage_uri: http://github.com/Chew/DBLRuby
|
62
62
|
source_code_uri: http://github.com/Chew/DBLRuby
|
63
63
|
wiki_uri: http://github.com/Chew/DBLRuby/wiki
|
64
|
+
documentation_uri: https://rubydocs.chew.pro/docs/dblruby
|
64
65
|
post_install_message:
|
65
66
|
rdoc_options: []
|
66
67
|
require_paths:
|
@@ -76,8 +77,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
76
77
|
- !ruby/object:Gem::Version
|
77
78
|
version: '0'
|
78
79
|
requirements: []
|
79
|
-
rubygems_version: 3.0.
|
80
|
+
rubygems_version: 3.0.6
|
80
81
|
signing_key:
|
81
82
|
specification_version: 4
|
82
|
-
summary: Discord Bot List API for Ruby
|
83
|
+
summary: Top.gg / Discord Bot List API for Ruby
|
83
84
|
test_files: []
|