vapor 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/.gitignore +15 -19
  2. data/.rspec +2 -0
  3. data/.rvmrc +48 -0
  4. data/Gemfile +4 -0
  5. data/{LICENSE → LICENSE.txt} +4 -2
  6. data/README.md +29 -0
  7. data/Rakefile +1 -53
  8. data/lib/vapor.rb +12 -0
  9. data/lib/vapor/api.rb +44 -0
  10. data/lib/vapor/crawler.rb +17 -0
  11. data/lib/vapor/game.rb +15 -0
  12. data/lib/vapor/games_list.rb +20 -0
  13. data/lib/vapor/user.rb +40 -0
  14. data/lib/vapor/version.rb +3 -0
  15. data/spec/cassettes/Vapor_API/fetches_player_summaries_for_an_user.yml +87 -0
  16. data/spec/cassettes/Vapor_Crawler/_games_for/fetches_a_games_list_for_an_user.yml +1306 -0
  17. data/spec/cassettes/Vapor_Game/finds_the_correct_id.yml +1107 -0
  18. data/spec/cassettes/Vapor_Game/finds_the_correct_name.yml +1107 -0
  19. data/spec/cassettes/Vapor_Game/finds_the_correct_time_spent_in_hours.yml +1133 -0
  20. data/spec/cassettes/Vapor_GamesList/creates_game_objects.yml +1113 -0
  21. data/spec/cassettes/Vapor_GamesList/has_the_right_amount_of_games.yml +1107 -0
  22. data/spec/cassettes/Vapor_User/fetches_the_right_Steam_Id_using_the_users_webpage.yml +57 -0
  23. data/spec/cassettes/Vapor_User/games/fetches_the_right_amount_of_games.yml +1195 -0
  24. data/spec/cassettes/Vapor_User/profile_info/has_a_profile_url.yml +40 -0
  25. data/spec/cassettes/Vapor_User/raises_a_valid_error_when_Steam_API_is_not_available.yml +57 -0
  26. data/spec/spec_helper.rb +17 -0
  27. data/spec/vapor/api_spec.rb +13 -0
  28. data/spec/vapor/crawler_spec.rb +15 -0
  29. data/spec/vapor/game_spec.rb +19 -0
  30. data/spec/vapor/games_list_spec.rb +13 -0
  31. data/spec/vapor/user_spec.rb +26 -0
  32. data/vapor.gemspec +28 -0
  33. metadata +213 -62
  34. data/.document +0 -5
  35. data/README.rdoc +0 -17
  36. data/VERSION +0 -1
  37. data/test/helper.rb +0 -10
  38. data/test/test_vapor.rb +0 -7
@@ -0,0 +1,40 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=8BDCBAAA1E46E207931AA2950110AEB2&steamids=76561198021477729
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: !binary |-
14
+ T0s=
15
+ headers:
16
+ !binary "RGF0ZQ==":
17
+ - !binary |-
18
+ TW9uLCAwMyBEZWMgMjAxMiAxNDozMzozMCBHTVQ=
19
+ !binary "RXhwaXJlcw==":
20
+ - !binary |-
21
+ TW9uLCAwMyBEZWMgMjAxMiAxNDozMzozMCBHTVQ=
22
+ !binary "Q29udGVudC1UeXBl":
23
+ - !binary |-
24
+ YXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOA==
25
+ !binary "Q29udGVudC1MZW5ndGg=":
26
+ - !binary |-
27
+ ODE0
28
+ body:
29
+ encoding: US-ASCII
30
+ string: ! "{\n\t\"response\": {\n\t\t\"players\": [\n\t\t\t{\n\t\t\t\t\"steamid\":
31
+ \"76561198021477729\",\n\t\t\t\t\"communityvisibilitystate\": 3,\n\t\t\t\t\"profilestate\":
32
+ 1,\n\t\t\t\t\"personaname\": \"Lunks\",\n\t\t\t\t\"lastlogoff\": 1354422120,\n\t\t\t\t\"profileurl\":
33
+ \"http://steamcommunity.com/id/pedronascimento/\",\n\t\t\t\t\"avatar\": \"http://media.steampowered.com/steamcommunity/public/images/avatars/ac/acacd3fbbe1c9a38037575113f58d18981ed55eb.jpg\",\n\t\t\t\t\"avatarmedium\":
34
+ \"http://media.steampowered.com/steamcommunity/public/images/avatars/ac/acacd3fbbe1c9a38037575113f58d18981ed55eb_medium.jpg\",\n\t\t\t\t\"avatarfull\":
35
+ \"http://media.steampowered.com/steamcommunity/public/images/avatars/ac/acacd3fbbe1c9a38037575113f58d18981ed55eb_full.jpg\",\n\t\t\t\t\"personastate\":
36
+ 0,\n\t\t\t\t\"primaryclanid\": \"103582791429521408\",\n\t\t\t\t\"timecreated\":
37
+ 1266769126,\n\t\t\t\t\"loccountrycode\": \"BR\"\n\t\t\t}\n\t\t]\n\t\t\n\t}\n}"
38
+ http_version:
39
+ recorded_at: Mon, 03 Dec 2012 14:33:30 GMT
40
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,57 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://steamcommunity.com/id/pedronascimento?xml=1
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 503
13
+ message: !binary |-
14
+ U2VydmljZSBVbmF2YWlsYWJsZQ==
15
+ headers:
16
+ !binary "U2VydmVy":
17
+ - !binary |-
18
+ VmFybmlzaA==
19
+ !binary "UmV0cnktQWZ0ZXI=":
20
+ - !binary |-
21
+ MA==
22
+ !binary "Q29udGVudC1UeXBl":
23
+ - !binary |-
24
+ dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04
25
+ !binary "Q29udGVudC1MZW5ndGg=":
26
+ - !binary |-
27
+ Nzk4
28
+ !binary "RGF0ZQ==":
29
+ - !binary |-
30
+ VHVlLCAyNyBOb3YgMjAxMiAwNToxOTowNCBHTVQ=
31
+ !binary "WC1WYXJuaXNo":
32
+ - !binary |-
33
+ MzI1NDkxNjQ5Nw==
34
+ !binary "QWdl":
35
+ - !binary |-
36
+ MA==
37
+ !binary "Vmlh":
38
+ - !binary |-
39
+ MS4xIHZhcm5pc2g=
40
+ !binary "Q29ubmVjdGlvbg==":
41
+ - !binary |-
42
+ Y2xvc2U=
43
+ body:
44
+ encoding: US-ASCII
45
+ string: ! "\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE html>\n<html>\n
46
+ \ <head>\n <title>Sorry!</title>\n </head>\n <body style=\"background-color:
47
+ #000000; color: #ffffff;font-family: Arial, Helvetica, sans-serif; font-size:
48
+ 12px; background-image: url( 'http://cdn.store.steampowered.com/public/images/v5/content_bg.png');
49
+ background-repeat: repeat-x; background-position: top;) \">\n <div style=\"width:
50
+ 940px; margin: 16px auto;\">\n <img src=\"http://cdn.store.steampowered.com/public/images/v5/globalheader_logo.png\"
51
+ style=\"float: right; margin-top: 30px;\">\n <br><h1>Sorry</h1>\n <h2>The
52
+ Steam Community is currently unavailable. Please try again later.</h2>\n
53
+ \ <br><br><br><br><br>\n <p>Error 503 Service Unavailable</p>\n <p>XID:
54
+ 3254916497</p>\n </div>\n </body>\n</html>\n"
55
+ http_version:
56
+ recorded_at: Tue, 27 Nov 2012 05:19:04 GMT
57
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,17 @@
1
+ require 'vapor'
2
+ require 'vcr'
3
+
4
+ VCR.configure do |config|
5
+ config.cassette_library_dir = 'spec/cassettes'
6
+ config.hook_into :webmock
7
+ config.default_cassette_options = { record: :new_episodes, match_requests_on: [:path]}
8
+ config.configure_rspec_metadata!
9
+ end
10
+
11
+ RSpec.configure do |config|
12
+ config.treat_symbols_as_metadata_keys_with_true_values = true
13
+ config.run_all_when_everything_filtered = true
14
+ config.filter_run :focus
15
+ config.extend VCR::RSpec::Macros
16
+ config.order = 'random'
17
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+ require 'vapor/api'
3
+
4
+ module Vapor
5
+ describe API do
6
+ let(:api) { API.new }
7
+ let(:user) { User.new(76561198021477729) }
8
+
9
+ it 'fetches player summaries for an user', :vcr do
10
+ api.player_summaries_for(user).should == {:steamid=>"76561198021477729", :communityvisibilitystate=>3, :profilestate=>1, :personaname=>"Lunks", :lastlogoff=>1353928831, :profileurl=>"http://steamcommunity.com/id/pedronascimento/", :avatar=>"http://media.steampowered.com/steamcommunity/public/images/avatars/4c/4c76064be169987500e4c7e228aabe3e33e1df47.jpg", :avatarmedium=>"http://media.steampowered.com/steamcommunity/public/images/avatars/4c/4c76064be169987500e4c7e228aabe3e33e1df47_medium.jpg", :avatarfull=>"http://media.steampowered.com/steamcommunity/public/images/avatars/4c/4c76064be169987500e4c7e228aabe3e33e1df47_full.jpg", :personastate=>1, :primaryclanid=>"103582791429521408", :timecreated=>1266769126, :loccountrycode=>"BR"}
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ module Vapor
4
+ describe Crawler do
5
+ let(:user) { User.new(76561198021477729) }
6
+ let(:crawler) {Crawler.new}
7
+
8
+ describe "#games_for", :vcr do
9
+ it "fetches a games list for an user" do
10
+ crawler.games_for(user).count.should == 109
11
+ end
12
+ end
13
+
14
+ end
15
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+ module Vapor
3
+ describe Game, :vcr do
4
+ let(:user) { User.new(76561198021477729) }
5
+ let (:game) {GamesList.new(user).games.first}
6
+ it "finds the correct id" do
7
+ game.id.should == 570
8
+ end
9
+ it "finds the correct name" do
10
+ game.name.should == "Dota 2"
11
+ end
12
+ it "finds the correct id" do
13
+ game.url.should == "http://steamcommunity.com/app/570"
14
+ end
15
+ it "finds the correct time spent in hours" do
16
+ game.time_spent_in_hours.should == 68.5
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+ module Vapor
3
+ describe GamesList, :vcr do
4
+ let(:user) { User.new(76561198021477729) }
5
+ let(:games) {GamesList.new(user).games}
6
+ it "has the right amount of games" do
7
+ games.count.should == 109
8
+ end
9
+ it "creates game objects" do
10
+ games.all?{|g| g.should be_a_kind_of Game}
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+ require 'vapor/user'
3
+
4
+ module Vapor
5
+ describe User do
6
+ it "raises a valid error when Steam API is not available", :vcr do
7
+ expect { User.new("pedronascimento") }.to raise_error(Vapor::APINotAvailableError, "Steam API is currently unavailable")
8
+ end
9
+ it 'fetches the right Steam Id using the users webpage', :vcr do
10
+ User.new("pedronascimento").steam_id.should == 76561198021477729
11
+ end
12
+
13
+ describe "profile info", :vcr do
14
+ it "has a profile url" do
15
+ User.new(76561198021477729).profile_url.should == "http://steamcommunity.com/id/pedronascimento/"
16
+ end
17
+
18
+ end
19
+ describe "games", :vcr do
20
+ let(:games) {User.new("pedronascimento").games}
21
+ it "fetches the right amount of games" do
22
+ games.count.should == 111
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,28 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'vapor/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "vapor"
8
+ gem.version = Vapor::VERSION
9
+ gem.authors = ["Pedro Nascimento"]
10
+ gem.email = ["pedro@helabs.com.br"]
11
+ gem.description = %q{Retrieve user information from Steam.}
12
+ gem.summary = %q{Vapor shows what games an user has played on Steam, and for how long.}
13
+ gem.homepage = "http://helabs.com.br/opensource"
14
+
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
+ gem.require_paths = ["lib"]
19
+
20
+ gem.add_runtime_dependency 'httpclient', '~> 2.3.0'
21
+ gem.add_runtime_dependency 'activesupport', '> 3'
22
+ gem.add_runtime_dependency 'nokogiri', '~> 1.5.5'
23
+ gem.add_development_dependency 'rake', '~> 10.0.1'
24
+ gem.add_development_dependency 'pry'
25
+ gem.add_development_dependency 'rspec', '~> 2.12.0'
26
+ gem.add_development_dependency 'vcr', '~> 2.3.0'
27
+ gem.add_development_dependency 'webmock', ['> 1.8.0','< 1.9.0']
28
+ end
metadata CHANGED
@@ -1,83 +1,234 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: vapor
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 0
8
- - 1
9
- version: 0.0.1
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.2
10
6
  platform: ruby
11
- authors:
12
- - Guillermo Iguaran
7
+ authors:
8
+ - Pedro Nascimento
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2010-11-20 00:00:00 -05:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: thoughtbot-shoulda
12
+ date: 2012-12-16 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ version_requirements: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 2.3.0
20
+ none: false
21
+ prerelease: false
22
+ name: httpclient
23
+ requirement: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ~>
26
+ - !ruby/object:Gem::Version
27
+ version: 2.3.0
28
+ none: false
29
+ type: :runtime
30
+ - !ruby/object:Gem::Dependency
31
+ version_requirements: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ! '>'
34
+ - !ruby/object:Gem::Version
35
+ version: '3'
36
+ none: false
37
+ prerelease: false
38
+ name: activesupport
39
+ requirement: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ! '>'
42
+ - !ruby/object:Gem::Version
43
+ version: '3'
44
+ none: false
45
+ type: :runtime
46
+ - !ruby/object:Gem::Dependency
47
+ version_requirements: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ~>
50
+ - !ruby/object:Gem::Version
51
+ version: 1.5.5
52
+ none: false
53
+ prerelease: false
54
+ name: nokogiri
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ~>
58
+ - !ruby/object:Gem::Version
59
+ version: 1.5.5
60
+ none: false
61
+ type: :runtime
62
+ - !ruby/object:Gem::Dependency
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ~>
66
+ - !ruby/object:Gem::Version
67
+ version: 10.0.1
68
+ none: false
69
+ prerelease: false
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 10.0.1
76
+ none: false
77
+ type: :development
78
+ - !ruby/object:Gem::Dependency
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ! '>='
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ none: false
85
+ prerelease: false
86
+ name: pry
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ! '>='
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ none: false
93
+ type: :development
94
+ - !ruby/object:Gem::Dependency
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ~>
98
+ - !ruby/object:Gem::Version
99
+ version: 2.12.0
100
+ none: false
101
+ prerelease: false
102
+ name: rspec
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - ~>
106
+ - !ruby/object:Gem::Version
107
+ version: 2.12.0
108
+ none: false
109
+ type: :development
110
+ - !ruby/object:Gem::Dependency
111
+ version_requirements: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ~>
114
+ - !ruby/object:Gem::Version
115
+ version: 2.3.0
116
+ none: false
117
+ prerelease: false
118
+ name: vcr
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ~>
122
+ - !ruby/object:Gem::Version
123
+ version: 2.3.0
124
+ none: false
125
+ type: :development
126
+ - !ruby/object:Gem::Dependency
127
+ version_requirements: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ! '>'
130
+ - !ruby/object:Gem::Version
131
+ version: 1.8.0
132
+ - - <
133
+ - !ruby/object:Gem::Version
134
+ version: 1.9.0
135
+ none: false
22
136
  prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 0
29
- version: "0"
137
+ name: webmock
138
+ requirement: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ! '>'
141
+ - !ruby/object:Gem::Version
142
+ version: 1.8.0
143
+ - - <
144
+ - !ruby/object:Gem::Version
145
+ version: 1.9.0
146
+ none: false
30
147
  type: :development
31
- version_requirements: *id001
32
- description: All awesomest in one library
33
- email: guilleiguaran@gmail.com
148
+ description: Retrieve user information from Steam.
149
+ email:
150
+ - pedro@helabs.com.br
34
151
  executables: []
35
-
36
152
  extensions: []
37
-
38
- extra_rdoc_files:
39
- - LICENSE
40
- - README.rdoc
41
- files:
42
- - .document
153
+ extra_rdoc_files: []
154
+ files:
43
155
  - .gitignore
44
- - LICENSE
45
- - README.rdoc
156
+ - .rspec
157
+ - .rvmrc
158
+ - Gemfile
159
+ - LICENSE.txt
160
+ - README.md
46
161
  - Rakefile
47
- - VERSION
48
162
  - lib/vapor.rb
49
- - test/helper.rb
50
- - test/test_vapor.rb
51
- has_rdoc: true
52
- homepage: http://github.com/guilleiguaran/vapor
163
+ - lib/vapor/api.rb
164
+ - lib/vapor/crawler.rb
165
+ - lib/vapor/game.rb
166
+ - lib/vapor/games_list.rb
167
+ - lib/vapor/user.rb
168
+ - lib/vapor/version.rb
169
+ - spec/cassettes/Vapor_API/fetches_player_summaries_for_an_user.yml
170
+ - spec/cassettes/Vapor_Crawler/_games_for/fetches_a_games_list_for_an_user.yml
171
+ - spec/cassettes/Vapor_Game/finds_the_correct_id.yml
172
+ - spec/cassettes/Vapor_Game/finds_the_correct_name.yml
173
+ - spec/cassettes/Vapor_Game/finds_the_correct_time_spent_in_hours.yml
174
+ - spec/cassettes/Vapor_GamesList/creates_game_objects.yml
175
+ - spec/cassettes/Vapor_GamesList/has_the_right_amount_of_games.yml
176
+ - spec/cassettes/Vapor_User/fetches_the_right_Steam_Id_using_the_users_webpage.yml
177
+ - spec/cassettes/Vapor_User/games/fetches_the_right_amount_of_games.yml
178
+ - spec/cassettes/Vapor_User/profile_info/has_a_profile_url.yml
179
+ - spec/cassettes/Vapor_User/raises_a_valid_error_when_Steam_API_is_not_available.yml
180
+ - spec/spec_helper.rb
181
+ - spec/vapor/api_spec.rb
182
+ - spec/vapor/crawler_spec.rb
183
+ - spec/vapor/game_spec.rb
184
+ - spec/vapor/games_list_spec.rb
185
+ - spec/vapor/user_spec.rb
186
+ - vapor.gemspec
187
+ homepage: http://helabs.com.br/opensource
53
188
  licenses: []
54
-
55
189
  post_install_message:
56
- rdoc_options:
57
- - --charset=UTF-8
58
- require_paths:
190
+ rdoc_options: []
191
+ require_paths:
59
192
  - lib
60
- required_ruby_version: !ruby/object:Gem::Requirement
61
- requirements:
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- segments:
193
+ required_ruby_version: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ segments:
65
199
  - 0
66
- version: "0"
67
- required_rubygems_version: !ruby/object:Gem::Requirement
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- segments:
200
+ hash: -3448431549947448972
201
+ none: false
202
+ required_rubygems_version: !ruby/object:Gem::Requirement
203
+ requirements:
204
+ - - ! '>='
205
+ - !ruby/object:Gem::Version
206
+ version: '0'
207
+ segments:
72
208
  - 0
73
- version: "0"
209
+ hash: -3448431549947448972
210
+ none: false
74
211
  requirements: []
75
-
76
212
  rubyforge_project:
77
- rubygems_version: 1.3.6
213
+ rubygems_version: 1.8.24
78
214
  signing_key:
79
215
  specification_version: 3
80
- summary: Minimalist Ruby library inspired in vapor.js
81
- test_files:
82
- - test/helper.rb
83
- - test/test_vapor.rb
216
+ summary: Vapor shows what games an user has played on Steam, and for how long.
217
+ test_files:
218
+ - spec/cassettes/Vapor_API/fetches_player_summaries_for_an_user.yml
219
+ - spec/cassettes/Vapor_Crawler/_games_for/fetches_a_games_list_for_an_user.yml
220
+ - spec/cassettes/Vapor_Game/finds_the_correct_id.yml
221
+ - spec/cassettes/Vapor_Game/finds_the_correct_name.yml
222
+ - spec/cassettes/Vapor_Game/finds_the_correct_time_spent_in_hours.yml
223
+ - spec/cassettes/Vapor_GamesList/creates_game_objects.yml
224
+ - spec/cassettes/Vapor_GamesList/has_the_right_amount_of_games.yml
225
+ - spec/cassettes/Vapor_User/fetches_the_right_Steam_Id_using_the_users_webpage.yml
226
+ - spec/cassettes/Vapor_User/games/fetches_the_right_amount_of_games.yml
227
+ - spec/cassettes/Vapor_User/profile_info/has_a_profile_url.yml
228
+ - spec/cassettes/Vapor_User/raises_a_valid_error_when_Steam_API_is_not_available.yml
229
+ - spec/spec_helper.rb
230
+ - spec/vapor/api_spec.rb
231
+ - spec/vapor/crawler_spec.rb
232
+ - spec/vapor/game_spec.rb
233
+ - spec/vapor/games_list_spec.rb
234
+ - spec/vapor/user_spec.rb