dd-api 0.0.5 → 0.0.6

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
  SHA1:
3
- metadata.gz: 90e17ce70d04772a693a0c07a48d388232c6ae65
4
- data.tar.gz: 019f39e11e645dcd9db27955cc463436e312aa44
3
+ metadata.gz: efffa731ad2269881d39200b2a6269db74ffcd85
4
+ data.tar.gz: 7f9b3111db304c082b24a5f6f098e028e365fe14
5
5
  SHA512:
6
- metadata.gz: a4133d57925590edf37d1d1747a8729a17250ecc32031e8fc267e829a48f66ed91c89cc7fea8f54d10eff3c7008ac84af0b6e07912b3e08b1e6a7e8856c43cc0
7
- data.tar.gz: b693f6ec6d1dae3a934602312b728a0fd2a6180d87cc4df0f1a8fd388cdcf9f16e16e0c71970757f027cfd1d209d29179f8b1619a20b86e5ef951240881c0ab2
6
+ metadata.gz: aa655517ae308836abf67e8dd494b0eed9ec1ee17ad199d2bbd410dc85b8f5936f0b15dc1ec78ca89b643e01ef738e79039dca0d85cc5b447fecb107121d5cba
7
+ data.tar.gz: a4f2efc08aa1e6f12ba3a9e17ba411afc2f09e44fef56c0b08c001964232964355068cbca51334ff25d9dfe35daf0801e77abe40dea423b10b401a69e3d2fc47
@@ -3,51 +3,71 @@ require 'rest-client'
3
3
  require 'dd-api/errors'
4
4
 
5
5
  # List of methods representing endpoints in Discord Dungeons's API
6
- module DDAPI
7
- module API
8
- # Make an item image URL from the item image
9
- def self.item_url(image)
10
- "https://res.discorddungeons.me/images/"+image
11
- end
12
-
13
- def self.rget(endpoint, api_key, user_agent)
14
- JSON.parse(RestClient.get("http://api.discorddungeons.me/"+endpoint, :'X-Api-Key' => api_key, :'User-Agent' => user_agent))
15
- end
16
-
17
- def self.get(endpoint, app)
18
- JSON.parse(RestClient.get("http://api.discorddungeons.me/"+endpoint, :'X-Api-Key' => app.api_key, :'User-Agent' => app.user_agent))
19
- end
20
-
21
- def self.get_user(app, id)
22
- get('user/'+id.to_s, app)['user']
23
- end
24
-
25
- def self.get_guild(app, id)
26
- get('guild/'+id, app)['data']
27
- end
28
-
29
- def self.get_items(app, id)
30
- get('item/'+id, app)['data']
31
- end
32
-
33
- def self.get_gitems(app, id)
34
- get('gitem/'+id, app)['data']
35
- end
36
-
37
- def self.all_guilds(app)
38
- get('all/guilds', app)['data']
39
- end
40
-
41
- def self.all_users(app)
42
- get('all/users', app)['data']
43
- end
44
-
45
- def self.all_items(app)
46
- get('all/items', app)['data']
47
- end
48
-
49
- def self.all_gitems(app)
50
- get('all/gitems', app)['data']
51
- end
6
+ module DDAPI::API
7
+ # The base URL of the Discord Dungeons REST API.
8
+ APIBASE = 'http://api.discorddungeons.me'.freeze
9
+
10
+ # The base URL of the Discord Dungeons Alternate Resources.
11
+ RESBASE = 'https://res.discorddungeons.me/images'.freeze
12
+
13
+ module_function
14
+
15
+ # @return [String] the currently used API base URL.
16
+ def api_base
17
+ APIBASE
18
+ end
19
+
20
+ # @return [String] the currently used resource base URL.
21
+ def res_base
22
+ RESBASE
23
+ end
24
+
25
+ # Make an item image URL from the item image
26
+ def image_url(image)
27
+ "#{res_base}/#{image}"
28
+ end
29
+ # Make an item image URL from the item image
30
+ def guild_icon_url(icon)
31
+ "#{res_base}/twemoji/"+icon.gsub(/\u0026#x/, "").gsub(/[;]/, "").gsub(/\u0026amp/, "-").downcase+".png"
32
+ end
33
+
34
+ def rget(endpoint, api_key, user_agent)
35
+ JSON.parse(RestClient.get("#{api_base}/"+endpoint, :'X-Api-Key' => api_key, :'User-Agent' => user_agent))
36
+ end
37
+
38
+ def get(endpoint, app)
39
+ JSON.parse(RestClient.get("#{api_base}/"+endpoint, :'X-Api-Key' => app.api_key, :'User-Agent' => app.user_agent))
40
+ end
41
+
42
+ def get_user(app, id)
43
+ get('user/'+id.to_s, app)['user']
44
+ end
45
+
46
+ def get_guild(app, id)
47
+ get('guild/'+id, app)['data']
48
+ end
49
+
50
+ def get_item(app, id)
51
+ get('item/'+id, app)['data']
52
+ end
53
+
54
+ def get_guild_item(app, id)
55
+ get('gitem/'+id, app)['data']
56
+ end
57
+
58
+ def all_guilds(app)
59
+ get('all/guilds', app)['data']
60
+ end
61
+
62
+ def all_users(app)
63
+ get('all/users', app)['data']
64
+ end
65
+
66
+ def all_items(app)
67
+ get('all/items', app)['data']
68
+ end
69
+
70
+ def all_guild_items(app)
71
+ get('all/gitems', app)['data']
52
72
  end
53
73
  end
@@ -131,6 +131,9 @@ module DDAPI
131
131
  # @return [String] The icon of the guild.
132
132
  attr_accessor :icon
133
133
 
134
+ # @return [String] The icon image URL to the guild's icon.
135
+ attr_accessor :image
136
+
134
137
  # @return [Array<String>] Array of icons the guild has bought.
135
138
  attr_accessor :icons
136
139
 
@@ -142,7 +145,8 @@ module DDAPI
142
145
 
143
146
  def initialize(data, app)
144
147
  @data = data
145
- gdata = data['guild']
148
+ # gdata = data['guild']
149
+ gdata = data
146
150
  @name = data['name']
147
151
  @open = data['open']
148
152
  @level = gdata['level']
@@ -151,6 +155,7 @@ module DDAPI
151
155
  @kills = @data['slain']
152
156
  @deaths = @data['deaths']
153
157
  @icon = HTMLEntities.new.decode(gdata['icon'])
158
+ @icon_url = API.guild_icon_url(gdata['icon'])
154
159
  @icons = gdata['icons'].map {|icon| HTMLEntities.new.decode(icon) }
155
160
  @id = data['id']
156
161
  @members = gdata['members']
@@ -188,7 +193,7 @@ module DDAPI
188
193
  attr_accessor :description
189
194
  alias_method :desc, :description
190
195
 
191
- # @return [String] The image URL to the item.
196
+ # @return [String] The image URL to the item. `nil` if there is no image.
192
197
  attr_accessor :image
193
198
 
194
199
  # @return [Integer] The level of the item.
@@ -212,7 +217,7 @@ module DDAPI
212
217
  @level = data['level']
213
218
  @description = data['desc']
214
219
  @type = data['type']
215
- @image = API.image_url(data['image'])
220
+ @image = data['image'].nil? ? nil : API.image_url(data['image'])
216
221
  #@id = data['id']
217
222
  @prefix = data['prefix']
218
223
  @prefix = data['plural']
@@ -246,7 +251,7 @@ module DDAPI
246
251
  attr_accessor :description
247
252
  alias_method :desc, :description
248
253
 
249
- # @return [String] The image URL to the item.
254
+ # @return [String, nil] The image URL to the item. `nil` if there is no image.
250
255
  attr_accessor :image
251
256
 
252
257
  # @return [Integer] The level of the item.
@@ -260,7 +265,7 @@ module DDAPI
260
265
  @name = data['name']
261
266
  @level = data['level']
262
267
  @description = data['desc']
263
- @image = API.image_url(data['image'])
268
+ @image = data['image'].nil? ? nil : API.image_url(data['image'])
264
269
  #@id = data['id']
265
270
  @prefix = data['prefix']
266
271
  @prefix = data['plural']
@@ -19,8 +19,8 @@ module DDAPI
19
19
  API.all_items(self).values.map { |item| Item.new(item, self) }
20
20
  end
21
21
 
22
- def gitems
23
- API.all_gitems(self).values.map { |gitem| GuildItem.new(gitem, self) }
22
+ def guild_items
23
+ API.all_guild_items(self).values.map { |gitem| GuildItem.new(gitem, self) }
24
24
  end
25
25
 
26
26
  def user(id)
@@ -30,5 +30,13 @@ module DDAPI
30
30
  def guild(id)
31
31
  Guild.new(API.get_guild(self, id), self)
32
32
  end
33
+
34
+ def item(id)
35
+ Item.new(API.get_item(self, id), self)
36
+ end
37
+
38
+ def guild_item(id)
39
+ Item.new(API.get_guild_item(self, id), self)
40
+ end
33
41
  end
34
42
  end
@@ -1,3 +1,3 @@
1
1
  module DDAPI
2
- VERSION = '0.0.5'.freeze
2
+ VERSION = '0.0.6'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dd-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Snazzah
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-20 00:00:00.000000000 Z
11
+ date: 2016-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler