stew 0.5.2 → 0.5.3

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.
@@ -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