dblruby 1.1.3 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|