dblista 0.2.1 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 520e714dd6b6d24600b0d43a3366996c9571c35d2ec87f25a3ffd1d68c61663a
4
- data.tar.gz: 761385a770d6631b08d6a06d34956019376990a3257d8b7280f57b92f69adb16
3
+ metadata.gz: a75838be15e70b98ad6b8f37c880a53539b82f8e0f11ff433ec7665efb9cb4f7
4
+ data.tar.gz: cf00504ac704fff20bb6eea3d4c585f7feb1337529aff5bf488e23e15496df18
5
5
  SHA512:
6
- metadata.gz: 299e471f6a12be703653c813f061f7b6f2101a1ee2854dec20c089776f3805141939cc4382a3be281514a9d43526d1ca1e20d8333dc28aeabbe472167864f959
7
- data.tar.gz: 47188ad512356e1459b1728bd5e3373d09a9e64f60d3ed287c46c7a0338bd04031c49380c4b35b7a085ca47a5a6f3cc3ca4efef9de8c6194b4265f5955b783a1
6
+ metadata.gz: e8c280dae3019394510864fb8f8d8ac9f8b7fc59d0ab0278620fd159f64629768088f0654d4d060804a187ff7230cf07ef88819e313dcebd15e8ef70bf587146
7
+ data.tar.gz: 4de0995b3040d0ef57a8a6f8d3eb07b7e58d931f1a58ae5995944b1f121961bb52d0dbfbabc188b40d4baf076c12e25546dd09930e0c97dd33036dbf1a53ac98
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dblista (0.2.1)
4
+ dblista (0.3.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -13,6 +13,7 @@ require_relative 'dblista/list/bot'
13
13
  require_relative 'dblista/list/server'
14
14
  require_relative 'dblista/user/client'
15
15
  require_relative 'dblista/helpers'
16
+ require_relative 'dblista/constants'
16
17
 
17
18
  # Main module
18
19
  module DBLista
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DBLista
4
+ # Tags
5
+ module Tags
6
+ # Bot tags
7
+ module Bot
8
+ MODERATION = :moderacja
9
+ TOOLS = :narzędzia
10
+ MUSIC = :muzyka
11
+ DASHBOARD = :panel
12
+ FUN = :rozrywka
13
+ LEVELS = :poziomy
14
+ GAMES = :gry
15
+ ROLEPLAY = :roleplay
16
+ ECONOMY = :ekonomia
17
+ ANIME = :anime
18
+ NSFW = :nsfw
19
+ OTHER = :inne
20
+ end
21
+ # Server tags
22
+ module Server
23
+ COMMUNITY = :community
24
+ PROGRAMMING = :programowanie
25
+ GAMES = :gry
26
+ YOUTUBE = :youtube
27
+ HOBBY = :hobby
28
+ ANIME = :anime
29
+ ROLEPLAY = :roleplay
30
+ OTHER = :inne
31
+ end
32
+ end
33
+ # Permissions
34
+ module Permissions
35
+ USER = 0
36
+ MODERATOR = 1
37
+ BIG_MODERATOR = 2
38
+ ADMINISTRATOR = 3
39
+ end
40
+ end
@@ -44,6 +44,22 @@ module DBLista::List
44
44
  DBLista._get('/bots/list/rejected')
45
45
  end
46
46
 
47
+ # Fetches all bots
48
+ #
49
+ # @return [Array] array of raw bot data from DBLista
50
+ def self.all
51
+ bots = []
52
+ i = 0
53
+ loop do
54
+ page = DBLista::List::Bot.top(i)
55
+ break if page.length.zero?
56
+
57
+ bots += page
58
+ i += 1
59
+ end
60
+ bots
61
+ end
62
+
47
63
  # Bot search
48
64
  #
49
65
  # @param query [String] query search
@@ -51,7 +67,7 @@ module DBLista::List
51
67
  def self.search(query)
52
68
  raise DBLista::Error, DBLista::Errors::QUERY_NOT_PROVIDED unless query
53
69
 
54
- DBLista._get("/bots/search/#{CGI.escape query}")
70
+ DBLista._get("/bots/search/#{CGI.escape query.to_s}")
55
71
  end
56
72
  end
57
73
  end
@@ -23,6 +23,22 @@ module DBLista::List
23
23
  DBLista._get("/servers/list/premium/#{page}")
24
24
  end
25
25
 
26
+ # Fetches all servers
27
+ #
28
+ # @return [Array] array of raw server data from DBLista
29
+ def self.all
30
+ servers = []
31
+ i = 0
32
+ loop do
33
+ page = DBLista::List::Server.top(i)
34
+ break if page.length.zero?
35
+
36
+ servers += page
37
+ i += 1
38
+ end
39
+ servers
40
+ end
41
+
26
42
  # Server search
27
43
  #
28
44
  # @param query [String] search query
@@ -30,7 +46,7 @@ module DBLista::List
30
46
  def self.search(query)
31
47
  raise DBLista::Error, DBLista::Errors::QUERY_NOT_PROVIDED unless query
32
48
 
33
- DBLista._get("/servers/search/#{CGI.escape query}")
49
+ DBLista._get("/servers/search/#{CGI.escape query.to_s}")
34
50
  end
35
51
  end
36
52
  end
@@ -9,36 +9,39 @@ module DBLista::User
9
9
  #
10
10
  # @param body [Hash] raw body to send
11
11
  # @param type [Symbol] type of entity (bot/server)
12
- # @return [Hash] raw data from DBLista
12
+ # @return [Boolean] true if operation succeded
13
13
  def add(body, type = 'bot')
14
14
  raise DBLista::Error, DBLista::Errors::BODY_HASH unless body.is_a?(Hash)
15
15
  raise DBLista::Error, DBLista::Errors::TYPE_NOT_ALLOWED unless DBLista::User::Client::ALLOWED_TYPES.include?(type)
16
16
 
17
17
  DBLista._post("/#{type}s", body, @token)
18
+ true
18
19
  end
19
20
 
20
21
  # Edits bot/server in DBLista
21
22
  #
22
23
  # @param body [Hash] raw body to send
23
24
  # @param type [Symbol] type of entity (bot/server)
24
- # @return [Hash] raw data from DBLista
25
+ # @return [Boolean] true if operation succeded
25
26
  def edit(body, type = :bot)
26
27
  raise DBLista::Error, DBLista::Errors::BODY_HASH unless body.is_a?(Hash)
27
28
  raise DBLista::Error, DBLista::Errors::TYPE_NOT_ALLOWED unless DBLista::User::Client::ALLOWED_TYPES.include?(type)
28
29
 
29
30
  DBLista._put("/#{type}s", body, @token)
31
+ true
30
32
  end
31
33
 
32
34
  # Deletes bot/server from DBLista
33
35
  #
34
36
  # @param id [Integer] entity ID
35
37
  # @param type [Symbol] type of entity (bot/server)
36
- # @return [Hash] raw data from DBLista
38
+ # @return [Boolean] true if operation succeded
37
39
  def delete(id, type = :bot)
38
40
  DBLista._validate_id id
39
41
  raise DBLista::Error, DBLista::Errors::TYPE_NOT_ALLOWED unless DBLista::User::Client::ALLOWED_TYPES.include?(type)
40
42
 
41
43
  DBLista._delete("/#{type}s/#{id}", nil, @token)
44
+ true
42
45
  end
43
46
 
44
47
  # Manages user (bans or adds premium)
@@ -47,12 +50,13 @@ module DBLista::User
47
50
  # @param id [Integer] user ID
48
51
  # @param banned [Boolean] user ban status
49
52
  # @param premium [Integer] days for premium
50
- # @return [Hash] raw data from DBLista
53
+ # @return [Boolean] true if operation succeded
51
54
  def manage_user(id, banned = false, premium = 0)
52
55
  DBLista._post("/users/#{id}/manage", {
53
56
  premium: premium,
54
57
  ban: banned
55
58
  }, @token)
59
+ true
56
60
  end
57
61
  end
58
62
  end
@@ -7,24 +7,26 @@ module DBLista::User
7
7
  #
8
8
  # @param id [Integer] entity ID
9
9
  # @param type [Symbol] type of entity (bot/server)
10
- # @return [Hash] raw data from DBLista
10
+ # @return [Boolean] true if operation succeded
11
11
  def boost(id, type = :bot)
12
12
  DBLista._validate_id id
13
13
  raise DBLista::Error, DBLista::Errors::TYPE_NOT_ALLOWED unless DBLista::User::Client::ALLOWED_TYPES.include?(type)
14
14
 
15
15
  DBLista._post("/#{type}s/#{id}/boost", nil, @token)
16
+ true
16
17
  end
17
18
 
18
19
  # Removes boost from a selected bot/server
19
20
  #
20
21
  # @param id [Integer] entity ID
21
22
  # @param type [Symbol] type of entity (bot/server)
22
- # @return [Hash] raw data from DBLista
23
+ # @return [Boolean] true if operation succeded
23
24
  def delete_boost(id, type = :bot)
24
25
  DBLista._validate_id id
25
26
  raise DBLista::Error, DBLista::Errors::TYPE_NOT_ALLOWED unless DBLista::User::Client::ALLOWED_TYPES.include?(type)
26
27
 
27
28
  DBLista._delete("/#{type}s/#{id}/boost", nil, @token)
29
+ true
28
30
  end
29
31
  end
30
32
  end
@@ -12,9 +12,10 @@ module DBLista::User
12
12
 
13
13
  # Clears user notifications
14
14
  #
15
- # @return [Hash] raw data from DBLista
15
+ # @return [Boolean] true if operation succeded
16
16
  def clear_notifications
17
17
  DBLista._get('/users/me/notifications/clear', @token)
18
+ true
18
19
  end
19
20
 
20
21
  # Sends notification to specified user
@@ -23,13 +24,14 @@ module DBLista::User
23
24
  # @param rank [Integer] user ID
24
25
  # @param details [String] details (content)
25
26
  # @param url [String] url to redirect if clicked
26
- # @return [Hash] raw data from DBLista
27
+ # @return [Boolean] true if operation succeded
27
28
  def send_notification(id, details, url = '#')
28
29
  DBLista._validate_id id
29
30
  DBLista._post("/users/#{id}/notifications", {
30
31
  text: details,
31
32
  url: url || '#'
32
33
  }, @token)
34
+ true
33
35
  end
34
36
 
35
37
  # Sends notification to specified group (rank)
@@ -38,12 +40,13 @@ module DBLista::User
38
40
  # @param rank [Integer] rank ID
39
41
  # @param details [String] details (content)
40
42
  # @param url [String] url to redirect if clicked
41
- # @return [Hash] raw data from DBLista
43
+ # @return [Boolean] true if operation succeded
42
44
  def send_group_notification(rank, details, url = '#')
43
45
  DBLista._post("/users/group/#{rank}/notifications", {
44
46
  text: details,
45
47
  url: url || '#'
46
48
  }, @token)
49
+ true
47
50
  end
48
51
  end
49
52
  end
@@ -9,7 +9,7 @@ module DBLista::User
9
9
  # @param rating [Integer] rating from 0 to 5
10
10
  # @param details [String] details (description)
11
11
  # @param type [Symbol] type of entity (bot/server)
12
- # @return [Hash] raw data from DBLista
12
+ # @return [Boolean] true if operation succeded
13
13
  def rate(id, rating, details, type = :bot)
14
14
  DBLista._validate_id id
15
15
  raise DBLista::Error, DBLista::Errors::TYPE_NOT_ALLOWED unless DBLista::User::Client::ALLOWED_TYPES.include?(type)
@@ -18,6 +18,7 @@ module DBLista::User
18
18
  rating: rating,
19
19
  details: details
20
20
  }, @token)
21
+ true
21
22
  end
22
23
 
23
24
  # Removes rate for a selected bot/server
@@ -25,12 +26,13 @@ module DBLista::User
25
26
  # @param id [Integer] entity ID
26
27
  # @param target_id [Integer] target user to remove rate from (for owners only)
27
28
  # @param type [Symbol] type of entity (bot/server)
28
- # @return [Hash] raw data from DBLista
29
+ # @return [Boolean] true if operation succeded
29
30
  def delete_rate(id, target_id = nil, type = :bot)
30
31
  DBLista._validate_id id
31
32
  raise DBLista::Error, DBLista::Errors::TYPE_NOT_ALLOWED unless DBLista::User::Client::ALLOWED_TYPES.include?(type)
32
33
 
33
34
  DBLista._delete("/#{type}s/#{id}/rate/#{target_id}", nil, @token)
35
+ true
34
36
  end
35
37
  end
36
38
  end
@@ -7,12 +7,13 @@ module DBLista::User
7
7
  #
8
8
  # @param id [Integer] entity ID
9
9
  # @param type [Symbol] type of entity (bot/server)
10
- # @return [Hash] raw data from DBLista
10
+ # @return [Boolean] true if operation succeded
11
11
  def vote(id, type = :bot)
12
12
  DBLista._validate_id id
13
13
  raise DBLista::Error, DBLista::Errors::TYPE_NOT_ALLOWED unless DBLista::User::Client::ALLOWED_TYPES.include?(type)
14
14
 
15
15
  DBLista._post("/#{type}s/#{id}/vote", nil, @token)
16
+ true
16
17
  end
17
18
  end
18
19
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module DBLista
4
4
  # Wrapper version
5
- VERSION = '0.2.1'
5
+ VERSION = '0.3.0'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dblista
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - deepivin
@@ -70,6 +70,7 @@ files:
70
70
  - dblista.gemspec
71
71
  - example/info.rb
72
72
  - lib/dblista.rb
73
+ - lib/dblista/constants.rb
73
74
  - lib/dblista/errors.rb
74
75
  - lib/dblista/helpers.rb
75
76
  - lib/dblista/info.rb