wow_community_api 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/wow_community_api/battle_net.rb +1 -1
- data/lib/wow_community_api/character.rb +3 -2
- data/lib/wow_community_api/guild.rb +3 -2
- data/lib/wow_community_api/realm.rb +2 -3
- data/lib/wow_community_api/version.rb +1 -1
- data/spec/character_spec.rb +17 -0
- data/spec/fixtures/character-all-fields.json +39 -0
- data/spec/fixtures/character-guild.json +25 -0
- data/spec/fixtures/guild-all-fields.json +58 -0
- data/spec/fixtures/guild-members.json +49 -0
- data/spec/guild_spec.rb +17 -0
- metadata +10 -2
@@ -1,7 +1,8 @@
|
|
1
1
|
module WowCommunityApi
|
2
2
|
class Character < BattleNet
|
3
|
-
def self.find_by_realm_and_name(realm, name)
|
4
|
-
|
3
|
+
def self.find_by_realm_and_name(realm, name, *field)
|
4
|
+
fields = { :fields => field.join(",") } if field.size > 0
|
5
|
+
get("/character/#{realm}/#{name}", :query => fields)
|
5
6
|
end
|
6
7
|
end
|
7
8
|
end
|
@@ -1,7 +1,8 @@
|
|
1
1
|
module WowCommunityApi
|
2
2
|
class Guild < BattleNet
|
3
|
-
def self.find_by_realm_and_name(realm, name)
|
4
|
-
|
3
|
+
def self.find_by_realm_and_name(realm, name, *field)
|
4
|
+
fields = { :fields => field.join(",") } if field.size > 0
|
5
|
+
get("/guild/#{realm}/#{name}", :query => fields)
|
5
6
|
end
|
6
7
|
end
|
7
8
|
end
|
@@ -2,9 +2,8 @@ module WowCommunityApi
|
|
2
2
|
class Realm < BattleNet
|
3
3
|
def self.find_by_name(*name)
|
4
4
|
names = { :realms => name.join(",") } if name.size > 0
|
5
|
-
results = get("/realm/status", :query => names)
|
6
|
-
realms
|
7
|
-
(name.size == 1) ? realms.first : realms
|
5
|
+
results = get("/realm/status", :query => names)
|
6
|
+
(name.size == 1) ? results.realms.first : results.realms
|
8
7
|
end
|
9
8
|
|
10
9
|
def self.find_all()
|
data/spec/character_spec.rb
CHANGED
@@ -16,5 +16,22 @@ describe Character do
|
|
16
16
|
character.realm.should == 'Altar of Storms'
|
17
17
|
character.name.should == 'Johndoe'
|
18
18
|
end
|
19
|
+
|
20
|
+
it 'gets a character with optional field guild' do
|
21
|
+
stub_json 'http://us.battle.net/api/wow/character/uther/malkyth?fields=guild', 'character-guild.json'
|
22
|
+
|
23
|
+
character = Character.find_by_realm_and_name('uther', 'malkyth', :guild)
|
24
|
+
character.guild.name.should == "Havok"
|
25
|
+
character.guild.emblem.icon.should == 106
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'gets a character with multiple optional fields' do
|
29
|
+
stub_json 'http://us.battle.net/api/wow/character/uther/malkyth?fields=guild,titles', 'character-all-fields.json'
|
30
|
+
|
31
|
+
character = Character.find_by_realm_and_name('uther', 'malkyth', :guild, :titles)
|
32
|
+
character.guild.name.should == "Havok"
|
33
|
+
character.titles.size.should == 3
|
34
|
+
character.titles[0].name.should == "Centurion %s"
|
35
|
+
end
|
19
36
|
end
|
20
37
|
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
{
|
2
|
+
"lastModified":1311111102000,
|
3
|
+
"name":"Malkyth",
|
4
|
+
"realm":"Uther",
|
5
|
+
"class":9,
|
6
|
+
"race":5,
|
7
|
+
"gender":0,
|
8
|
+
"level":85,
|
9
|
+
"achievementPoints":11030,
|
10
|
+
"thumbnail":"uther/243/6004211-avatar.jpg",
|
11
|
+
"guild":{
|
12
|
+
"name":"Havok",
|
13
|
+
"realm":"Uther",
|
14
|
+
"level":25,
|
15
|
+
"members":525,
|
16
|
+
"achievementPoints":1425,
|
17
|
+
"emblem":{
|
18
|
+
"icon":106,
|
19
|
+
"iconColor":"ffffff00",
|
20
|
+
"border":0,
|
21
|
+
"borderColor":"ffffffff",
|
22
|
+
"backgroundColor":"ffffff91"
|
23
|
+
}
|
24
|
+
},
|
25
|
+
"titles":[
|
26
|
+
{
|
27
|
+
"id":23,
|
28
|
+
"name":"Centurion %s"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"id":47,
|
32
|
+
"name":"Conqueror %s"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"id":81,
|
36
|
+
"name":"%s the Seeker"
|
37
|
+
}
|
38
|
+
]
|
39
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"lastModified":1311111102000,
|
3
|
+
"name":"Malkyth",
|
4
|
+
"realm":"Uther",
|
5
|
+
"class":9,
|
6
|
+
"race":5,
|
7
|
+
"gender":0,
|
8
|
+
"level":85,
|
9
|
+
"achievementPoints":11030,
|
10
|
+
"thumbnail":"uther/243/6004211-avatar.jpg",
|
11
|
+
"guild":{
|
12
|
+
"name":"Havok",
|
13
|
+
"realm":"Uther",
|
14
|
+
"level":25,
|
15
|
+
"members":525,
|
16
|
+
"achievementPoints":1425,
|
17
|
+
"emblem":{
|
18
|
+
"icon":106,
|
19
|
+
"iconColor":"ffffff00",
|
20
|
+
"border":0,
|
21
|
+
"borderColor":"ffffffff",
|
22
|
+
"backgroundColor":"ffffff91"
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
|
2
|
+
{
|
3
|
+
"lastModified":1311117979000,
|
4
|
+
"name":"is epic",
|
5
|
+
"realm":"Arygos",
|
6
|
+
"level":25,
|
7
|
+
"side":0,
|
8
|
+
"achievementPoints":1510,
|
9
|
+
"achievements":{
|
10
|
+
"achievementsCompleted":[4860,4861,4912],
|
11
|
+
"achievementsCompletedTimestamp":[1293347365000,1301697662000,1302416261000],
|
12
|
+
"criteria":[13756,13757,13829],
|
13
|
+
"criteriaQuantity":[25,501107873,1],
|
14
|
+
"criteriaTimestamp":[1302416261000,1299962276000,1301697662000],
|
15
|
+
"criteriaCreated":[1291709573000,1292727089000,1301697662000]
|
16
|
+
},
|
17
|
+
"members":[
|
18
|
+
{
|
19
|
+
"character":{
|
20
|
+
"name":"Myrlidaren",
|
21
|
+
"realm":"Arygos",
|
22
|
+
"class":1,
|
23
|
+
"race":4,
|
24
|
+
"gender":0,
|
25
|
+
"level":75,
|
26
|
+
"achievementPoints":0,
|
27
|
+
"thumbnail":"arygos/86/7232086-avatar.jpg"
|
28
|
+
},
|
29
|
+
"rank":9
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"character":{
|
33
|
+
"name":"Dragonhuntr",
|
34
|
+
"realm":"Arygos",
|
35
|
+
"class":3,
|
36
|
+
"race":4,
|
37
|
+
"gender":1,
|
38
|
+
"level":85,
|
39
|
+
"achievementPoints":0,
|
40
|
+
"thumbnail":"arygos/146/7238034-avatar.jpg"
|
41
|
+
},
|
42
|
+
"rank":8
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"character":{
|
46
|
+
"name":"Jlarry",
|
47
|
+
"realm":"Arygos",
|
48
|
+
"class":1,
|
49
|
+
"race":1,
|
50
|
+
"gender":0,
|
51
|
+
"level":80,
|
52
|
+
"achievementPoints":0,
|
53
|
+
"thumbnail":"arygos/93/7243101-avatar.jpg"
|
54
|
+
},
|
55
|
+
"rank":8
|
56
|
+
}
|
57
|
+
]
|
58
|
+
}
|
@@ -0,0 +1,49 @@
|
|
1
|
+
{
|
2
|
+
"lastModified":1311117979000,
|
3
|
+
"name":"is epic",
|
4
|
+
"realm":"Arygos",
|
5
|
+
"level":25,
|
6
|
+
"side":0,
|
7
|
+
"achievementPoints":1510,
|
8
|
+
"members":[
|
9
|
+
{
|
10
|
+
"character":{
|
11
|
+
"name":"Myrlidaren",
|
12
|
+
"realm":"Arygos",
|
13
|
+
"class":1,
|
14
|
+
"race":4,
|
15
|
+
"gender":0,
|
16
|
+
"level":75,
|
17
|
+
"achievementPoints":0,
|
18
|
+
"thumbnail":"arygos/86/7232086-avatar.jpg"
|
19
|
+
},
|
20
|
+
"rank":9
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"character":{
|
24
|
+
"name":"Dragonhuntr",
|
25
|
+
"realm":"Arygos",
|
26
|
+
"class":3,
|
27
|
+
"race":4,
|
28
|
+
"gender":1,
|
29
|
+
"level":85,
|
30
|
+
"achievementPoints":0,
|
31
|
+
"thumbnail":"arygos/146/7238034-avatar.jpg"
|
32
|
+
},
|
33
|
+
"rank":8
|
34
|
+
},
|
35
|
+
{
|
36
|
+
"character":{
|
37
|
+
"name":"Jlarry",
|
38
|
+
"realm":"Arygos",
|
39
|
+
"class":1,
|
40
|
+
"race":1,
|
41
|
+
"gender":0,
|
42
|
+
"level":80,
|
43
|
+
"achievementPoints":0,
|
44
|
+
"thumbnail":"arygos/93/7243101-avatar.jpg"
|
45
|
+
},
|
46
|
+
"rank":8
|
47
|
+
}
|
48
|
+
]
|
49
|
+
}
|
data/spec/guild_spec.rb
CHANGED
@@ -16,5 +16,22 @@ describe Guild do
|
|
16
16
|
guild.realm.should == 'Altar of Storms'
|
17
17
|
guild.name.should == 'Devilsaur May Cry'
|
18
18
|
end
|
19
|
+
|
20
|
+
it 'gets a guild with optional field members' do
|
21
|
+
stub_json 'http://us.battle.net/api/wow/guild/arygos/is%20epic?fields=members', 'guild-members.json'
|
22
|
+
|
23
|
+
guild = Guild.find_by_realm_and_name('arygos', 'is epic', :members)
|
24
|
+
guild.members.size.should == 3
|
25
|
+
guild.members[0].character.name.should == "Myrlidaren"
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'gets a guild with multiple optional fields' do
|
29
|
+
stub_json 'http://us.battle.net/api/wow/guild/arygos/is%20epic?fields=members,achievements', 'guild-all-fields.json'
|
30
|
+
|
31
|
+
guild = Guild.find_by_realm_and_name('arygos', 'is epic', :members, :achievements)
|
32
|
+
guild.members.size.should == 3
|
33
|
+
guild.members[0].character.name.should == "Myrlidaren"
|
34
|
+
guild.achievements.achievementsCompleted.size.should == 3
|
35
|
+
end
|
19
36
|
end
|
20
37
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: wow_community_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- eddie cianci
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-07-
|
13
|
+
date: 2011-07-20 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: httparty
|
@@ -82,9 +82,13 @@ files:
|
|
82
82
|
- lib/wow_community_api/version.rb
|
83
83
|
- spec/battle_net_spec.rb
|
84
84
|
- spec/character_spec.rb
|
85
|
+
- spec/fixtures/character-all-fields.json
|
85
86
|
- spec/fixtures/character-doe.json
|
87
|
+
- spec/fixtures/character-guild.json
|
86
88
|
- spec/fixtures/character.json
|
89
|
+
- spec/fixtures/guild-all-fields.json
|
87
90
|
- spec/fixtures/guild-dmc.json
|
91
|
+
- spec/fixtures/guild-members.json
|
88
92
|
- spec/fixtures/guild.json
|
89
93
|
- spec/fixtures/realms-all.json
|
90
94
|
- spec/fixtures/realms-aos.json
|
@@ -124,9 +128,13 @@ summary: World of Warcraft Community Platform API
|
|
124
128
|
test_files:
|
125
129
|
- spec/battle_net_spec.rb
|
126
130
|
- spec/character_spec.rb
|
131
|
+
- spec/fixtures/character-all-fields.json
|
127
132
|
- spec/fixtures/character-doe.json
|
133
|
+
- spec/fixtures/character-guild.json
|
128
134
|
- spec/fixtures/character.json
|
135
|
+
- spec/fixtures/guild-all-fields.json
|
129
136
|
- spec/fixtures/guild-dmc.json
|
137
|
+
- spec/fixtures/guild-members.json
|
130
138
|
- spec/fixtures/guild.json
|
131
139
|
- spec/fixtures/realms-all.json
|
132
140
|
- spec/fixtures/realms-aos.json
|