dblista 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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