wowget 0.1.8 → 0.1.9
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.
- data/lib/wowget/item.rb +22 -22
- data/spec/item_spec.rb +4 -4
- metadata +1 -1
data/lib/wowget/item.rb
CHANGED
@@ -10,8 +10,8 @@ module Wowget
|
|
10
10
|
attr_accessor :name
|
11
11
|
attr_accessor :level
|
12
12
|
attr_accessor :quality_id
|
13
|
-
attr_accessor :
|
14
|
-
attr_accessor :
|
13
|
+
attr_accessor :category_id
|
14
|
+
attr_accessor :subcategory_id
|
15
15
|
attr_accessor :icon_id
|
16
16
|
attr_accessor :icon_name
|
17
17
|
attr_accessor :required_level
|
@@ -22,7 +22,7 @@ module Wowget
|
|
22
22
|
attr_accessor :error
|
23
23
|
|
24
24
|
ITEM_QUALITIES = ['Poor', 'Common', 'Uncommon', 'Rare', 'Epic', 'Legendary', 'Artifact', 'Heirloom']
|
25
|
-
|
25
|
+
ITEM_CATEGORIES = {
|
26
26
|
0 => 'Consumables',
|
27
27
|
1 => 'Containers',
|
28
28
|
2 => 'Weapons',
|
@@ -36,7 +36,7 @@ module Wowget
|
|
36
36
|
15 => 'Miscellaneous',
|
37
37
|
16 => 'Glyphs'
|
38
38
|
}
|
39
|
-
|
39
|
+
ITEM_SUBCATEGORIES = {
|
40
40
|
'Consumables' => {
|
41
41
|
0 => 'Consumables',
|
42
42
|
1 => 'Potions',
|
@@ -211,20 +211,20 @@ module Wowget
|
|
211
211
|
if item_xml.css('wowhead error').length == 1
|
212
212
|
self.error = {:error => "not found"}
|
213
213
|
else
|
214
|
-
item_json
|
215
|
-
item_equip_json
|
216
|
-
self.id
|
217
|
-
self.name
|
218
|
-
self.level
|
219
|
-
self.quality_id
|
220
|
-
self.
|
221
|
-
self.
|
222
|
-
self.icon_id
|
223
|
-
self.icon_name
|
224
|
-
self.required_level
|
225
|
-
self.inventory_slot_id
|
226
|
-
self.buy_price
|
227
|
-
self.sell_price
|
214
|
+
item_json = JSON "{#{item_xml.css('wowhead item json').inner_text.strip.to_s}}"
|
215
|
+
item_equip_json = JSON "{#{item_xml.css('wowhead item jsonEquip').inner_text.strip.to_s}}"
|
216
|
+
self.id = item_id.to_i
|
217
|
+
self.name = item_xml.css('wowhead item name').inner_text.strip.to_s
|
218
|
+
self.level = item_xml.css('wowhead item level').inner_text.strip.to_i
|
219
|
+
self.quality_id = item_xml.css('wowhead item quality').attribute('id').content.to_i
|
220
|
+
self.category_id = item_xml.css('wowhead item class').attribute('id').content.to_i
|
221
|
+
self.subcategory_id = item_xml.css('wowhead item subclass').attribute('id').content.to_i
|
222
|
+
self.icon_id = item_xml.css('wowhead item icon').attribute('displayId').content.to_i
|
223
|
+
self.icon_name = item_xml.css('wowhead item icon').inner_text.strip.to_s
|
224
|
+
self.required_level = item_json['reqlevel']
|
225
|
+
self.inventory_slot_id = item_xml.css('wowhead item inventorySlot').attribute('id').content.to_i
|
226
|
+
self.buy_price = item_equip_json['buyprice'].to_f / 10000
|
227
|
+
self.sell_price = item_equip_json['sellprice'].to_f / 10000
|
228
228
|
|
229
229
|
if item_xml.css('wowhead item createdBy').length == 1
|
230
230
|
self.recipe_id = item_xml.css('wowhead item createdBy spell').attribute('id').content.to_i
|
@@ -241,12 +241,12 @@ module Wowget
|
|
241
241
|
ITEM_QUALITIES[self.quality_id]
|
242
242
|
end
|
243
243
|
|
244
|
-
def
|
245
|
-
|
244
|
+
def category
|
245
|
+
ITEM_CATEGORIES[self.category_id]
|
246
246
|
end
|
247
247
|
|
248
|
-
def
|
249
|
-
|
248
|
+
def subcategory
|
249
|
+
ITEM_SUBCATEGORIES[self.category][self.subcategory_id]
|
250
250
|
end
|
251
251
|
|
252
252
|
def inventory_slot
|
data/spec/item_spec.rb
CHANGED
@@ -22,19 +22,19 @@ describe Wowget::Item do
|
|
22
22
|
end
|
23
23
|
|
24
24
|
it "should have an item class value" do
|
25
|
-
item.
|
25
|
+
item.category_id.should == 2
|
26
26
|
end
|
27
27
|
|
28
28
|
it "should have an item class name" do
|
29
|
-
item.
|
29
|
+
item.category.should == "Weapons"
|
30
30
|
end
|
31
31
|
|
32
32
|
it "should have an item subclass value" do
|
33
|
-
item.
|
33
|
+
item.subcategory_id.should == 8
|
34
34
|
end
|
35
35
|
|
36
36
|
it "should have an item subclass name" do
|
37
|
-
item.
|
37
|
+
item.subcategory.should == "Two-Handed Swords"
|
38
38
|
end
|
39
39
|
|
40
40
|
it "should have an icon value" do
|