dd-api 0.0.5 → 0.0.6

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
  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