pokeapi 0.1.1 → 0.2.0
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 +4 -4
- data/.ruby-version +1 -0
- data/lib/pokeapi.rb +1 -0
- data/lib/pokeapi/ability.rb +2 -1
- data/lib/pokeapi/move.rb +2 -2
- data/lib/pokeapi/parser/pokemon.rb +73 -0
- data/lib/pokeapi/pokemon.rb +1 -6
- data/lib/pokeapi/requester.rb +2 -1
- data/lib/pokeapi/stat.rb +3 -5
- data/lib/pokeapi/type.rb +2 -5
- data/lib/pokeapi/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 40816f1238320795f9a1fd2d3fd04cabfb90dab8
|
4
|
+
data.tar.gz: 7ab4819c43275bdc5938052f46340f292ee021f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 329e351b4541d4b15e0454c43d345a27013853a851ec9d3965d268b24d4c5d46bd02a0a49a8172d3160a7c1b9e5ad5cb06f26756c90ee8a47e1d17c1dc52a78f
|
7
|
+
data.tar.gz: 3a266eda7b2a66be70803af8995109bb92b169ab2f3e11e1f00976189803a7c8fe027a0efcb6a326e7d96d1e7b79b3d392082f1cdc21eb658f5f9a182b3044e6
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.3.1
|
data/lib/pokeapi.rb
CHANGED
data/lib/pokeapi/ability.rb
CHANGED
data/lib/pokeapi/move.rb
CHANGED
@@ -0,0 +1,73 @@
|
|
1
|
+
module PokeAPI
|
2
|
+
module Parser
|
3
|
+
class Pokemon
|
4
|
+
def self.parse(data)
|
5
|
+
new(data).parse
|
6
|
+
end
|
7
|
+
|
8
|
+
def initialize(data)
|
9
|
+
@data = data.clone
|
10
|
+
@abilities = @data.delete :abilities
|
11
|
+
@moves = @data.delete :moves
|
12
|
+
@types = @data.delete :types
|
13
|
+
@stats = @data.delete :stats
|
14
|
+
@thumbnail = @data.delete(:sprites).delete(:front_default)
|
15
|
+
end
|
16
|
+
|
17
|
+
def parse
|
18
|
+
{
|
19
|
+
id: @data[:id],
|
20
|
+
name: @data[:name],
|
21
|
+
abilities: abilities,
|
22
|
+
moves: moves,
|
23
|
+
types: types,
|
24
|
+
stats: stats,
|
25
|
+
thumbnail: @thumbnail,
|
26
|
+
}
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def abilities
|
32
|
+
@abilities.map do |ability|
|
33
|
+
{
|
34
|
+
name: ability[:ability][:name],
|
35
|
+
url: ability[:ability][:url],
|
36
|
+
is_hidden: ability[:is_hidden],
|
37
|
+
slot: ability[:slot],
|
38
|
+
}
|
39
|
+
end.sort_by { |ability| ability[:slot] }
|
40
|
+
end
|
41
|
+
|
42
|
+
def moves
|
43
|
+
@moves.map do |move|
|
44
|
+
{
|
45
|
+
name: move[:move][:name],
|
46
|
+
url: move[:move][:url],
|
47
|
+
}
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def types
|
52
|
+
@types.map do |type|
|
53
|
+
{
|
54
|
+
name: type[:type][:name],
|
55
|
+
slot: type[:slot],
|
56
|
+
url: type[:type][:url],
|
57
|
+
}
|
58
|
+
end.sort_by { |type| type[:slot] }
|
59
|
+
end
|
60
|
+
|
61
|
+
def stats
|
62
|
+
@stats.map do |stat|
|
63
|
+
{
|
64
|
+
name: stat[:stat][:name],
|
65
|
+
url: stat[:stat][:url],
|
66
|
+
base_stat: stat[:base_stat],
|
67
|
+
effort: stat[:effort],
|
68
|
+
}
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
data/lib/pokeapi/pokemon.rb
CHANGED
@@ -3,15 +3,10 @@ module PokeAPI
|
|
3
3
|
property :id
|
4
4
|
property :name
|
5
5
|
property :abilities, coerce: Array[Ability]
|
6
|
-
property :held_items, coerce: Array[Hash]
|
7
6
|
property :moves, coerce: Array[Move]
|
8
7
|
property :types, coerce: Array[Type]
|
9
8
|
property :stats, coerce: Array[Stat]
|
10
|
-
property :
|
11
|
-
|
12
|
-
def sprite
|
13
|
-
sprites[:front_default]
|
14
|
-
end
|
9
|
+
property :thumbnail
|
15
10
|
|
16
11
|
class << self
|
17
12
|
def find(id)
|
data/lib/pokeapi/requester.rb
CHANGED
data/lib/pokeapi/stat.rb
CHANGED
data/lib/pokeapi/type.rb
CHANGED
data/lib/pokeapi/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pokeapi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Edgar Ortega
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|
@@ -89,6 +89,7 @@ extra_rdoc_files: []
|
|
89
89
|
files:
|
90
90
|
- ".gitignore"
|
91
91
|
- ".rspec"
|
92
|
+
- ".ruby-version"
|
92
93
|
- ".travis.yml"
|
93
94
|
- CODE_OF_CONDUCT.md
|
94
95
|
- Gemfile
|
@@ -101,6 +102,7 @@ files:
|
|
101
102
|
- lib/pokeapi/ability.rb
|
102
103
|
- lib/pokeapi/base.rb
|
103
104
|
- lib/pokeapi/move.rb
|
105
|
+
- lib/pokeapi/parser/pokemon.rb
|
104
106
|
- lib/pokeapi/pokemon.rb
|
105
107
|
- lib/pokeapi/requester.rb
|
106
108
|
- lib/pokeapi/stat.rb
|