stew 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,19 @@
1
+ #encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe "Parsing of broken sales", :vcr do
6
+ before(:each) do
7
+ raw_response_file = File.new("spec/fixtures/store/sales/broken_sales.txt")
8
+ stub_request(:get, "http://store.steampowered.com/search/tab?cc=us&l=english&tab=Discounts&start=0&count=10000").to_return(raw_response_file)
9
+ end
10
+
11
+ describe "parsing of the sales" do
12
+ let(:subject){Stew::Store::SalesClient.new}
13
+ let(:sales){subject.sales}
14
+
15
+ it "handles responses with no original price" do
16
+ sales.each(&:original_price)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,32 @@
1
+ #encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe "Sales" do
6
+ before(:each) do
7
+ raw_response_file = File.new("spec/fixtures/store/sales/sales.txt")
8
+ stub_request(:get, "http://store.steampowered.com/search/tab?cc=us&l=english&tab=Discounts&start=0&count=10000").to_return(raw_response_file)
9
+ end
10
+
11
+ describe "parsing of the sales" do
12
+ let(:subject){Stew::Store::SalesClient.new}
13
+ let(:sales){subject.sales}
14
+
15
+ it "has the correct names" do
16
+ sales.entries[0].name.should eq "Call of Duty®: Black Ops II"
17
+ sales.entries[1].name.should eq "Tomb Raider"
18
+ end
19
+
20
+ it "has the correct price" do
21
+ sales.first.price.should eq Money.new('4019', :eur)
22
+ end
23
+
24
+ it "has the correct original price" do
25
+ sales.first.original_price.should eq Money.new('5999', :usd)
26
+ end
27
+
28
+ it "has an app id" do
29
+ sales.first.app_id.should eq 202970
30
+ end
31
+ end
32
+ end
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe "Store", :vcr do
5
+ describe "Store", :vcr => {:cassette_name => 'store_integration'} do
6
6
 
7
7
  let(:store_client){Stew::Store::StoreClient.new}
8
8
  subject{store_client.app(id)}
@@ -41,6 +41,14 @@ describe "Store", :vcr do
41
41
  it "is not indie" do
42
42
  subject.indie?.should be_false
43
43
  end
44
+
45
+ it "sets the header image" do
46
+ subject.header_image.should match /http:\/\/cdn.\.?steampowered.com\/v\/gfx\/apps\/211420\/header_292x136\.jpg/
47
+ end
48
+
49
+ it "sets the capsule image" do
50
+ subject.capsule_image.should match /http:\/\/cdn.\.?steampowered.com\/v\/gfx\/apps\/211420\/capsule_sm_120\.jpg/
51
+ end
44
52
  end
45
53
 
46
54
  describe "Creation of a store DLC app with data" do
@@ -51,6 +59,10 @@ describe "Store", :vcr do
51
59
  it "sets dlc flag" do
52
60
  subject.dlc?.should be_true
53
61
  end
62
+
63
+ it "sets the dlc_app_id" do
64
+ subject.dlc_app_id.should eq 8930
65
+ end
54
66
  end
55
67
 
56
68
  describe "Creation of a store App with multiple offers" do
@@ -4,9 +4,8 @@ require 'spec_helper'
4
4
 
5
5
  describe Stew::Store::App do
6
6
  let(:response){open("spec/fixtures/store/apps/#{id}.txt")}
7
- #let(:document){Nokogiri.HTML(response)}
8
7
 
9
- subject{Stew::Store::App.new(response)}
8
+ subject{Stew::Store::App.new(response, id)}
10
9
 
11
10
  describe "attributes" do
12
11
  context "when the parse is successful" do
@@ -56,6 +55,22 @@ describe Stew::Store::App do
56
55
  end
57
56
  end
58
57
 
58
+ describe ".dlc_app_id" do
59
+ context "when the app is not DLC" do
60
+ it "returns nil" do
61
+ subject.dlc_app_id.should be_nil
62
+ end
63
+ end
64
+
65
+ context "when the app is DLC" do
66
+ let(:id){16870}
67
+
68
+ it "returns true" do
69
+ subject.dlc_app_id.should eq 8930
70
+ end
71
+ end
72
+ end
73
+
59
74
  describe ".developer" do
60
75
  it "returns the developer" do
61
76
  subject.developer.should eq 'FromSoftware'
@@ -90,12 +105,41 @@ describe Stew::Store::App do
90
105
  end
91
106
  end
92
107
 
108
+ describe ".regular_price" do
109
+ context "when the app is not on sale" do
110
+ it "returns the price" do
111
+ subject.regular_price.should eq Money.new(3999, 'EUR')
112
+ end
113
+ end
114
+
115
+ context "when the app is on sale" do
116
+ let(:id){211400}
117
+ let(:response){open("spec/fixtures/store/apps/#{id}_sale.txt")}
118
+
119
+ it "returns the price of the app when it is not on sale" do
120
+ subject.regular_price.should eq Money.new(1199, 'EUR')
121
+ end
122
+ end
123
+ end
124
+
93
125
  describe ".free?" do
94
126
  it "returns true if the the app is free" do
95
127
  subject.free?.should be_false
96
128
  end
97
129
  end
98
130
 
131
+ describe ".header_image" do
132
+ it "return the URL of the header image" do
133
+ subject.header_image.should eq 'http://cdn.steampowered.com/v/gfx/apps/211420/header_292x136.jpg'
134
+ end
135
+ end
136
+
137
+ describe ".capsule_image" do
138
+ it "return the URL of the capsule image" do
139
+ subject.capsule_image.should eq 'http://cdn2.steampowered.com/v/gfx/apps/211420/capsule_sm_120.jpg'
140
+ end
141
+ end
142
+
99
143
  describe "offers" do
100
144
  it "creates an AppOffers instance with the offer node" do
101
145
  subject.offers.count.should eq 1
@@ -122,7 +166,7 @@ describe Stew::Store::App do
122
166
 
123
167
  describe ".dlc?" do
124
168
  it "should be nil" do
125
- subject.dlc?.should be_nil
169
+ subject.dlc?.should be_false
126
170
  end
127
171
  end
128
172
 
@@ -137,6 +181,12 @@ describe Stew::Store::App do
137
181
  subject.price.should be_nil
138
182
  end
139
183
  end
184
+
185
+ describe ".header_image" do
186
+ it "should be nil" do
187
+ subject.header_image.should be_nil
188
+ end
189
+ end
140
190
  end
141
191
  end
142
192
  end
@@ -0,0 +1,51 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Stew::Store::Sale do
6
+ subject{Stew::Store::Sale.new(Nokogiri::HTML(response))}
7
+
8
+ context "a broken sale with no original price" do
9
+ let(:response){File.new("spec/fixtures/store/sales/broken_sale.txt").read}
10
+
11
+ it "sets the original price to the discounted price" do
12
+ subject.original_price.should eq subject.price
13
+ end
14
+ end
15
+
16
+ context "a proper sale" do
17
+ let(:response){File.new("spec/fixtures/store/sales/sale.txt").read}
18
+
19
+ describe "#name" do
20
+ let(:expected_name){"Tomb Raider"}
21
+
22
+ it "returns the name" do
23
+ subject.name.should eq expected_name
24
+ end
25
+ end
26
+
27
+ describe "#price" do
28
+ let(:expected_price){Money.new("4499", :usd)}
29
+
30
+ it "returns the price" do
31
+ subject.price.should eq expected_price
32
+ end
33
+ end
34
+
35
+ describe "#original_price" do
36
+ let(:expected_original_price){Money.new("4999", :usd)}
37
+
38
+ it "returns the original price" do
39
+ subject.original_price.should eq expected_original_price
40
+ end
41
+ end
42
+
43
+ describe "#app_id" do
44
+ let(:expected_app_id){203160}
45
+
46
+ it "returns the app id" do
47
+ subject.app_id.should eq expected_app_id
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Stew::Store::SalesClient" do
4
+ let(:client){double('sales_client')}
5
+ let(:response){open("spec/fixtures/store/sales/sales.txt")}
6
+ let(:region){:se}
7
+ subject{Stew::Store::SalesClient.new({:client => client})}
8
+
9
+ describe "sales" do
10
+ context "when no specific region is selected" do
11
+ it "sends the correct message to it's client" do
12
+ expected_options = {:cc => Stew.config[:default_region], :l => 'english', :tab => 'Discounts', :start => 0, :count => 10000}
13
+ client.should_receive(:get).with("/search/tab", expected_options).and_return(response)
14
+ Stew::Store::Sales.should_receive(:new).with(response)
15
+ subject.sales
16
+ end
17
+ end
18
+
19
+ context "when a region is given" do
20
+ it "sends the correct message to it's client" do
21
+ expected_options = {:cc => region, :l => 'english', :tab => 'Discounts', :start => 0, :count => 10000}
22
+ client.should_receive(:get).with("/search/tab", expected_options).and_return(response)
23
+ Stew::Store::Sales.should_receive(:new).with(response)
24
+ subject.sales(region)
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Stew::Store::Sales do
6
+ let(:response){File.new("spec/fixtures/store/sales/sales.txt").read}
7
+ subject{Stew::Store::Sales.new(response)}
8
+ end
@@ -10,7 +10,7 @@ describe "Stew::Store::StoreClient" do
10
10
  let(:id) {211420}
11
11
  it "sends the correct message to its client" do
12
12
  client.should_receive(:get).with("/app/#{id}", {:cc => region}).and_return(response)
13
- Stew::Store::App.should_receive(:new).with(response)
13
+ Stew::Store::App.should_receive(:new).with(response, id)
14
14
  subject.app(id)
15
15
  end
16
16
  end
@@ -21,7 +21,7 @@ describe "Stew::Store::StoreClient" do
21
21
  context "when given an integer" do
22
22
  it "creates an app with the given integer as id" do
23
23
  client.stub(:get).with("/app/#{id}", {:cc => :us}).and_return(response)
24
- Stew::Store::App.should_receive(:new).with(response)
24
+ Stew::Store::App.should_receive(:new).with(response, id)
25
25
  subject.create_app(id)
26
26
  end
27
27
  end
@@ -32,7 +32,7 @@ describe "Stew::Store::StoreClient" do
32
32
 
33
33
  it "creates an app" do
34
34
  client.stub(:get).with("/app/#{id}", {:cc => region}).and_return(response)
35
- Stew::Store::App.should_receive(:new).with(response)
35
+ Stew::Store::App.should_receive(:new).with(response, id)
36
36
  subject.create_app(url)
37
37
  end
38
38
  end
@@ -42,7 +42,7 @@ describe "Stew::Store::StoreClient" do
42
42
 
43
43
  it "creates an app" do
44
44
  client.stub(:get).with("/app/#{id}", {:cc => :us}).and_return(response)
45
- Stew::Store::App.should_receive(:new).with(response)
45
+ Stew::Store::App.should_receive(:new).with(response, id)
46
46
  subject.create_app(url)
47
47
  end
48
48
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe "Stew::Store::WebClient", :vcr do
3
+ describe "Stew::Store::WebClient", :vcr => {:cassette_name => 'web_client'} do
4
4
  let(:uri){'http://store.steampowered.com/'}
5
5
 
6
6
  subject{Stew::Store::WebClient.new(uri)}
@@ -13,11 +13,12 @@ RSpec.configure do |config|
13
13
  config.run_all_when_everything_filtered = true
14
14
  config.filter_run :focus
15
15
  config.order = 'random'
16
+ config.fail_fast = true
16
17
  end
17
18
 
18
19
  VCR.configure do |c|
19
20
  c.cassette_library_dir = 'spec/fixtures/cassette_library'
20
21
  c.hook_into :webmock
21
22
  c.configure_rspec_metadata!
22
- c.default_cassette_options = {:re_record_interval => 3600*24}
23
+ c.default_cassette_options = {:re_record_interval => 3600*24, :record => :new_episodes}
23
24
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stew
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
5
- prerelease:
4
+ version: 0.5.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Magnus Skog
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-11 00:00:00.000000000 Z
11
+ date: 2013-04-08 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: guard
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: guard-rspec
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: vcr
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ! '>='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: webmock
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ! '>='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ! '>='
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: ci_reporter
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ! '>='
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ! '>='
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: rake
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ! '>='
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ! '>='
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: simplecov
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ! '>='
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ! '>='
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: simplecov-rcov
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ! '>='
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ! '>='
156
137
  - !ruby/object:Gem::Version
@@ -158,7 +139,6 @@ dependencies:
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: rb-inotify
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
143
  - - ! '>='
164
144
  - !ruby/object:Gem::Version
@@ -166,7 +146,6 @@ dependencies:
166
146
  type: :development
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
150
  - - ! '>='
172
151
  - !ruby/object:Gem::Version
@@ -174,7 +153,6 @@ dependencies:
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: yard
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
157
  - - ! '>='
180
158
  - !ruby/object:Gem::Version
@@ -182,7 +160,6 @@ dependencies:
182
160
  type: :development
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
164
  - - ! '>='
188
165
  - !ruby/object:Gem::Version
@@ -190,7 +167,6 @@ dependencies:
190
167
  - !ruby/object:Gem::Dependency
191
168
  name: rdiscount
192
169
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
170
  requirements:
195
171
  - - ! '>='
196
172
  - !ruby/object:Gem::Version
@@ -198,7 +174,6 @@ dependencies:
198
174
  type: :development
199
175
  prerelease: false
200
176
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
177
  requirements:
203
178
  - - ! '>='
204
179
  - !ruby/object:Gem::Version
@@ -206,7 +181,6 @@ dependencies:
206
181
  - !ruby/object:Gem::Dependency
207
182
  name: multi_xml
208
183
  requirement: !ruby/object:Gem::Requirement
209
- none: false
210
184
  requirements:
211
185
  - - ! '>='
212
186
  - !ruby/object:Gem::Version
@@ -214,7 +188,6 @@ dependencies:
214
188
  type: :runtime
215
189
  prerelease: false
216
190
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
191
  requirements:
219
192
  - - ! '>='
220
193
  - !ruby/object:Gem::Version
@@ -222,7 +195,6 @@ dependencies:
222
195
  - !ruby/object:Gem::Dependency
223
196
  name: nokogiri
224
197
  requirement: !ruby/object:Gem::Requirement
225
- none: false
226
198
  requirements:
227
199
  - - ! '>='
228
200
  - !ruby/object:Gem::Version
@@ -230,7 +202,6 @@ dependencies:
230
202
  type: :runtime
231
203
  prerelease: false
232
204
  version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
205
  requirements:
235
206
  - - ! '>='
236
207
  - !ruby/object:Gem::Version
@@ -238,7 +209,6 @@ dependencies:
238
209
  - !ruby/object:Gem::Dependency
239
210
  name: faraday
240
211
  requirement: !ruby/object:Gem::Requirement
241
- none: false
242
212
  requirements:
243
213
  - - ! '>='
244
214
  - !ruby/object:Gem::Version
@@ -246,7 +216,6 @@ dependencies:
246
216
  type: :runtime
247
217
  prerelease: false
248
218
  version_requirements: !ruby/object:Gem::Requirement
249
- none: false
250
219
  requirements:
251
220
  - - ! '>='
252
221
  - !ruby/object:Gem::Version
@@ -254,7 +223,6 @@ dependencies:
254
223
  - !ruby/object:Gem::Dependency
255
224
  name: faraday_middleware
256
225
  requirement: !ruby/object:Gem::Requirement
257
- none: false
258
226
  requirements:
259
227
  - - ! '>='
260
228
  - !ruby/object:Gem::Version
@@ -262,7 +230,6 @@ dependencies:
262
230
  type: :runtime
263
231
  prerelease: false
264
232
  version_requirements: !ruby/object:Gem::Requirement
265
- none: false
266
233
  requirements:
267
234
  - - ! '>='
268
235
  - !ruby/object:Gem::Version
@@ -270,7 +237,6 @@ dependencies:
270
237
  - !ruby/object:Gem::Dependency
271
238
  name: money
272
239
  requirement: !ruby/object:Gem::Requirement
273
- none: false
274
240
  requirements:
275
241
  - - ! '>='
276
242
  - !ruby/object:Gem::Version
@@ -278,7 +244,6 @@ dependencies:
278
244
  type: :runtime
279
245
  prerelease: false
280
246
  version_requirements: !ruby/object:Gem::Requirement
281
- none: false
282
247
  requirements:
283
248
  - - ! '>='
284
249
  - !ruby/object:Gem::Version
@@ -313,6 +278,9 @@ files:
313
278
  - lib/stew/store/app_offer.rb
314
279
  - lib/stew/store/app_offer_sale.rb
315
280
  - lib/stew/store/app_offers.rb
281
+ - lib/stew/store/sale.rb
282
+ - lib/stew/store/sales.rb
283
+ - lib/stew/store/sales_client.rb
316
284
  - lib/stew/store/store_client.rb
317
285
  - lib/stew/store/web_client.rb
318
286
  - lib/stew/version.rb
@@ -333,7 +301,13 @@ files:
333
301
  - spec/fixtures/store/apps/49520.txt
334
302
  - spec/fixtures/store/apps/49520_offers.txt
335
303
  - spec/fixtures/store/apps/no_app.txt
304
+ - spec/fixtures/store/sales/broken_sale.txt
305
+ - spec/fixtures/store/sales/broken_sales.txt
306
+ - spec/fixtures/store/sales/sale.txt
307
+ - spec/fixtures/store/sales/sales.txt
308
+ - spec/integration/broken_sales_integration_spec.rb
336
309
  - spec/integration/community_integration_spec.rb
310
+ - spec/integration/sales_integration_spec.rb
337
311
  - spec/integration/store_integration_spec.rb
338
312
  - spec/lib/stew/community/community_client_spec.rb
339
313
  - spec/lib/stew/community/profile_friends_spec.rb
@@ -346,6 +320,9 @@ files:
346
320
  - spec/lib/stew/store/app_offer_spec.rb
347
321
  - spec/lib/stew/store/app_offers_spec.rb
348
322
  - spec/lib/stew/store/app_spec.rb
323
+ - spec/lib/stew/store/sale_spec.rb
324
+ - spec/lib/stew/store/sales_client_spec.rb
325
+ - spec/lib/stew/store/sales_spec.rb
349
326
  - spec/lib/stew/store/store_client_spec.rb
350
327
  - spec/lib/stew/store/web_client_spec.rb
351
328
  - spec/lib/stew_spec.rb
@@ -353,33 +330,26 @@ files:
353
330
  - stew.gemspec
354
331
  homepage: https://github.com/mskog/stew
355
332
  licenses: []
333
+ metadata: {}
356
334
  post_install_message:
357
335
  rdoc_options: []
358
336
  require_paths:
359
337
  - lib
360
338
  required_ruby_version: !ruby/object:Gem::Requirement
361
- none: false
362
339
  requirements:
363
340
  - - ! '>='
364
341
  - !ruby/object:Gem::Version
365
342
  version: '0'
366
- segments:
367
- - 0
368
- hash: -5319004060931315
369
343
  required_rubygems_version: !ruby/object:Gem::Requirement
370
- none: false
371
344
  requirements:
372
345
  - - ! '>='
373
346
  - !ruby/object:Gem::Version
374
347
  version: '0'
375
- segments:
376
- - 0
377
- hash: -5319004060931315
378
348
  requirements: []
379
349
  rubyforge_project:
380
- rubygems_version: 1.8.24
350
+ rubygems_version: 2.0.0.rc.2
381
351
  signing_key:
382
- specification_version: 3
352
+ specification_version: 4
383
353
  summary: A client for the Steam Gaming service.
384
354
  test_files:
385
355
  - spec/fixtures/profiles/4d.txt
@@ -399,7 +369,13 @@ test_files:
399
369
  - spec/fixtures/store/apps/49520.txt
400
370
  - spec/fixtures/store/apps/49520_offers.txt
401
371
  - spec/fixtures/store/apps/no_app.txt
372
+ - spec/fixtures/store/sales/broken_sale.txt
373
+ - spec/fixtures/store/sales/broken_sales.txt
374
+ - spec/fixtures/store/sales/sale.txt
375
+ - spec/fixtures/store/sales/sales.txt
376
+ - spec/integration/broken_sales_integration_spec.rb
402
377
  - spec/integration/community_integration_spec.rb
378
+ - spec/integration/sales_integration_spec.rb
403
379
  - spec/integration/store_integration_spec.rb
404
380
  - spec/lib/stew/community/community_client_spec.rb
405
381
  - spec/lib/stew/community/profile_friends_spec.rb
@@ -412,6 +388,9 @@ test_files:
412
388
  - spec/lib/stew/store/app_offer_spec.rb
413
389
  - spec/lib/stew/store/app_offers_spec.rb
414
390
  - spec/lib/stew/store/app_spec.rb
391
+ - spec/lib/stew/store/sale_spec.rb
392
+ - spec/lib/stew/store/sales_client_spec.rb
393
+ - spec/lib/stew/store/sales_spec.rb
415
394
  - spec/lib/stew/store/store_client_spec.rb
416
395
  - spec/lib/stew/store/web_client_spec.rb
417
396
  - spec/lib/stew_spec.rb