battle_pet 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
data/lib/battle_pet.rb CHANGED
@@ -3,7 +3,7 @@ require 'json'
3
3
  require 'yaml'
4
4
 
5
5
  class BattlePet
6
- attr_accessor :id, :name, :description, :source, :type, :creature, :abilities, :added_in_patch
6
+ attr_accessor :id, :name, :description, :source, :type, :creature, :abilities, :added_in_patch, :icon
7
7
 
8
8
  REGION_HOSTS = { us: 'us.battle.net',
9
9
  eu: 'eu.battle.net',
@@ -20,6 +20,10 @@ class BattlePet
20
20
  @can_battle
21
21
  end
22
22
 
23
+ def icon_url
24
+ "http://media.blizzard.com/wow/icons/56/#{icon}.jpg"
25
+ end
26
+
23
27
  protected
24
28
 
25
29
  def self.parse_data_from_api(id, locale)
@@ -31,6 +35,7 @@ class BattlePet
31
35
  @id = data["speciesId"]
32
36
  @name = data["name"]
33
37
  @description = data["description"]
38
+ @icon = data["icon"]
34
39
  @source = BattlePet.parse_source data["source"], locale
35
40
  @can_battle = data["canBattle"]
36
41
  @type = Type.find data["petTypeId"]
@@ -3,6 +3,19 @@ require 'test/unit'
3
3
  require 'battle_pet'
4
4
 
5
5
  class BattlePetTest < Test::Unit::TestCase
6
+ def setup
7
+ @pet = BattlePet.new(1150)
8
+ end
9
+
10
+ def test_initialize
11
+ assert_equal 1150, @pet.id
12
+ assert_equal "Ashstone Core", @pet.name
13
+ assert_equal "The cooled core of Golemagg, it appears to retain some semi-sentient properties.", @pet.description
14
+ assert_equal "inv_elemental_eternal_shadow", @pet.icon
15
+ assert_equal({ 'Drop' => 'Golemagg the Incinerator', 'Zone' => 'Molten Core' }, @pet.source)
16
+ assert_equal true, @pet.can_battle?
17
+ assert_equal 68666, @pet.creature
18
+ end
6
19
 
7
20
  def test_parse_data_from_api
8
21
  assert_equal JSON.parse(File.read(File.join(File.dirname(__FILE__), 'data/mechanical_squirrel_us.json'))),
@@ -39,4 +52,8 @@ class BattlePetTest < Test::Unit::TestCase
39
52
  assert_equal "90", BattlePet.parse_cost('90 ')
40
53
  end
41
54
 
55
+ def test_icon_url
56
+ assert_equal "http://media.blizzard.com/wow/icons/56/inv_elemental_eternal_shadow.jpg", @pet.icon_url
57
+ end
58
+
42
59
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: battle_pet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-05 00:00:00.000000000 Z
12
+ date: 2013-06-06 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: A simple gem to get data from WoW BattlePet API
15
15
  email: zwt315@163.com