reggie 0.0.0 → 0.1.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.
data/Gemfile CHANGED
@@ -5,10 +5,17 @@ source "http://rubygems.org"
5
5
 
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
+
9
+ gem "rest-client"
10
+
8
11
  group :development do
9
12
  gem "rspec", "~> 2.8.0"
10
13
  gem "rdoc", "~> 3.12"
11
14
  gem "bundler", "~> 1.0.0"
12
15
  gem "jeweler", "~> 1.8.3"
13
- gem "rcov", ">= 0"
16
+ end
17
+
18
+ group :test do
19
+ gem "webmock"
20
+ gem "vcr"
14
21
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.0
1
+ 0.1.0
data/lib/reggie.rb CHANGED
@@ -0,0 +1,48 @@
1
+ require 'json'
2
+ require 'rest_client'
3
+
4
+ class Reggie
5
+ attr_accessor :customer_id, :token
6
+
7
+ def initialize(args)
8
+ @customer_id = args[:customer_id]
9
+ @token = args[:token]
10
+
11
+ @base_uri = "https://api.edgecast.com/v2/mcc/customers"
12
+ @valid = false
13
+
14
+ begin
15
+ response = RestClient.get "#{@base_uri}/#{@customer_id}/compression",
16
+ :authorization => @token,
17
+ :accept => :json
18
+ @valid = true if response.code == 200
19
+ rescue => e
20
+ end
21
+ end
22
+
23
+ def valid?
24
+ @valid
25
+ end
26
+
27
+ def load(image_url)
28
+ begin
29
+ response = RestClient.put "#{@base_uri}/#{@customer_id}/edge/load",
30
+ {:MediaPath => image_url, :MediaType => 8}.to_json,
31
+ :authorization => @token,
32
+ :content_type => :json,
33
+ :accept => :json
34
+ rescue => e
35
+ end
36
+ end
37
+
38
+ def purge(image_url)
39
+ begin
40
+ response = RestClient.put "#{@base_uri}/#{@customer_id}/edge/purge",
41
+ {:MediaPath => image_url, :MediaType => 8}.to_json,
42
+ :authorization => @token,
43
+ :content_type => :json,
44
+ :accept => :json
45
+ rescue => e
46
+ end
47
+ end
48
+ end
data/reggie.gemspec ADDED
@@ -0,0 +1,64 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{reggie}
8
+ s.version = "0.1.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Jimmy Huang"]
12
+ s.date = %q{2012-03-27}
13
+ s.description = %q{A Ruby wrapper for a caching API}
14
+ s.email = %q{jimmy.huang@duragility.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ "Gemfile",
23
+ "LICENSE.txt",
24
+ "README.rdoc",
25
+ "Rakefile",
26
+ "VERSION",
27
+ "lib/reggie.rb",
28
+ "reggie.gemspec",
29
+ "spec/fixtures/reggie/cache_management.yml",
30
+ "spec/fixtures/reggie/new.yml",
31
+ "spec/reggie_spec.rb",
32
+ "spec/spec_helper.rb"
33
+ ]
34
+ s.homepage = %q{http://github.com/yhuang/reggie}
35
+ s.licenses = ["MIT"]
36
+ s.require_paths = ["lib"]
37
+ s.rubygems_version = %q{1.4.2}
38
+ s.summary = %q{A Ruby wrapper for a caching API}
39
+
40
+ if s.respond_to? :specification_version then
41
+ s.specification_version = 3
42
+
43
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
44
+ s.add_runtime_dependency(%q<rest-client>, [">= 0"])
45
+ s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
46
+ s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
47
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
48
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
49
+ else
50
+ s.add_dependency(%q<rest-client>, [">= 0"])
51
+ s.add_dependency(%q<rspec>, ["~> 2.8.0"])
52
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
53
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
54
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
55
+ end
56
+ else
57
+ s.add_dependency(%q<rest-client>, [">= 0"])
58
+ s.add_dependency(%q<rspec>, ["~> 2.8.0"])
59
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
60
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
61
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
62
+ end
63
+ end
64
+
@@ -0,0 +1,307 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://api.edgecast.com/v2/mcc/customers/CUSTOMER_ID/edge/load
6
+ body:
7
+ string: "{\"MediaType\":8,\"MediaPath\":\"http://img.bleacherreport.net/img/slides/photos/002/037/135/137267039_crop_exact.jpg?w=650&h=440&q=85\"}"
8
+ headers:
9
+ Accept:
10
+ - application/json
11
+ Authorization:
12
+ - TOKEN
13
+ Content-Length:
14
+ - "131"
15
+ Accept-Encoding:
16
+ - gzip, deflate
17
+ Content-Type:
18
+ - application/json
19
+ response:
20
+ status:
21
+ code: 200
22
+ message: OK
23
+ headers:
24
+ Server:
25
+ - Microsoft-IIS/7.5
26
+ Date:
27
+ - Tue, 27 Mar 2012 16:41:27 GMT
28
+ Content-Length:
29
+ - "0"
30
+ X-Aspnet-Version:
31
+ - 4.0.30319
32
+ X-Powered-By:
33
+ - ASP.NET
34
+ Cache-Control:
35
+ - private
36
+ body:
37
+ string: ""
38
+ http_version:
39
+ recorded_at: Tue, 27 Mar 2012 16:42:37 GMT
40
+ - request:
41
+ method: put
42
+ uri: https://api.edgecast.com/v2/mcc/customers/CUSTOMER_ID/edge/load
43
+ body:
44
+ string: "{\"MediaType\":8,\"MediaPath\":\"http://img.bleacherreport.net/img/slides/photos/002/037/135/XXX_crop_exact.jpg?w=650&h=440&q=85\"}"
45
+ headers:
46
+ Accept:
47
+ - application/json
48
+ Authorization:
49
+ - TOKEN
50
+ Content-Length:
51
+ - "125"
52
+ Accept-Encoding:
53
+ - gzip, deflate
54
+ Content-Type:
55
+ - application/json
56
+ response:
57
+ status:
58
+ code: 200
59
+ message: OK
60
+ headers:
61
+ Server:
62
+ - Microsoft-IIS/7.5
63
+ Date:
64
+ - Tue, 27 Mar 2012 16:41:27 GMT
65
+ Content-Length:
66
+ - "0"
67
+ X-Aspnet-Version:
68
+ - 4.0.30319
69
+ X-Powered-By:
70
+ - ASP.NET
71
+ Cache-Control:
72
+ - private
73
+ body:
74
+ string: ""
75
+ http_version:
76
+ recorded_at: Tue, 27 Mar 2012 16:42:38 GMT
77
+ - request:
78
+ method: put
79
+ uri: https://api.edgecast.com/v2/mcc/customers/CUSTOMER_ID/edge/load
80
+ body:
81
+ string: "{\"MediaType\":8,\"MediaPath\":\"\"}"
82
+ headers:
83
+ Accept:
84
+ - application/json
85
+ Authorization:
86
+ - TOKEN
87
+ Content-Length:
88
+ - "30"
89
+ Accept-Encoding:
90
+ - gzip, deflate
91
+ Content-Type:
92
+ - application/json
93
+ response:
94
+ status:
95
+ code: 400
96
+ message: Bad Request
97
+ headers:
98
+ Server:
99
+ - Microsoft-IIS/7.5
100
+ Date:
101
+ - Tue, 27 Mar 2012 16:41:28 GMT
102
+ Content-Length:
103
+ - "63"
104
+ X-Aspnet-Version:
105
+ - 4.0.30319
106
+ X-Powered-By:
107
+ - ASP.NET
108
+ Content-Type:
109
+ - application/json; charset=utf-8
110
+ Cache-Control:
111
+ - private
112
+ body:
113
+ string: "{\"Message\":\"MediaPath: Path is required for this media type. \"}"
114
+ http_version:
115
+ recorded_at: Tue, 27 Mar 2012 16:42:38 GMT
116
+ - request:
117
+ method: put
118
+ uri: https://api.edgecast.com/v2/mcc/customers/CUSTOMER_ID/edge/load
119
+ body:
120
+ string: "{\"MediaType\":8,\"MediaPath\":\"http://www.amazon.com\"}"
121
+ headers:
122
+ Accept:
123
+ - application/json
124
+ Authorization:
125
+ - TOKEN
126
+ Content-Length:
127
+ - "51"
128
+ Accept-Encoding:
129
+ - gzip, deflate
130
+ Content-Type:
131
+ - application/json
132
+ response:
133
+ status:
134
+ code: 400
135
+ message: Bad Request
136
+ headers:
137
+ Server:
138
+ - Microsoft-IIS/7.5
139
+ Date:
140
+ - Tue, 27 Mar 2012 16:41:28 GMT
141
+ Content-Length:
142
+ - "183"
143
+ X-Aspnet-Version:
144
+ - 4.0.30319
145
+ X-Powered-By:
146
+ - ASP.NET
147
+ Content-Type:
148
+ - application/json; charset=utf-8
149
+ Cache-Control:
150
+ - private
151
+ body:
152
+ string: "{\"Message\":\"Invalid strPath parameter. Please double check the path to make sure it is valid. Also check that the media type id represents the correct platform for the path given.\"}"
153
+ http_version:
154
+ recorded_at: Tue, 27 Mar 2012 16:42:39 GMT
155
+ - request:
156
+ method: put
157
+ uri: https://api.edgecast.com/v2/mcc/customers/CUSTOMER_ID/edge/purge
158
+ body:
159
+ string: "{\"MediaType\":8,\"MediaPath\":\"http://img.bleacherreport.net/img/slides/photos/002/037/135/137267039_crop_exact.jpg?w=650&h=440&q=85\"}"
160
+ headers:
161
+ Accept:
162
+ - application/json
163
+ Authorization:
164
+ - TOKEN
165
+ Content-Length:
166
+ - "131"
167
+ Accept-Encoding:
168
+ - gzip, deflate
169
+ Content-Type:
170
+ - application/json
171
+ response:
172
+ status:
173
+ code: 200
174
+ message: OK
175
+ headers:
176
+ Server:
177
+ - Microsoft-IIS/7.5
178
+ Date:
179
+ - Tue, 27 Mar 2012 16:41:29 GMT
180
+ Content-Length:
181
+ - "0"
182
+ X-Aspnet-Version:
183
+ - 4.0.30319
184
+ X-Powered-By:
185
+ - ASP.NET
186
+ Cache-Control:
187
+ - private
188
+ body:
189
+ string: ""
190
+ http_version:
191
+ recorded_at: Tue, 27 Mar 2012 16:42:39 GMT
192
+ - request:
193
+ method: put
194
+ uri: https://api.edgecast.com/v2/mcc/customers/CUSTOMER_ID/edge/purge
195
+ body:
196
+ string: "{\"MediaType\":8,\"MediaPath\":\"http://img.bleacherreport.net/img/slides/photos/002/037/135/XXX_crop_exact.jpg?w=650&h=440&q=85\"}"
197
+ headers:
198
+ Accept:
199
+ - application/json
200
+ Authorization:
201
+ - TOKEN
202
+ Content-Length:
203
+ - "125"
204
+ Accept-Encoding:
205
+ - gzip, deflate
206
+ Content-Type:
207
+ - application/json
208
+ response:
209
+ status:
210
+ code: 200
211
+ message: OK
212
+ headers:
213
+ Server:
214
+ - Microsoft-IIS/7.5
215
+ Date:
216
+ - Tue, 27 Mar 2012 16:41:29 GMT
217
+ Content-Length:
218
+ - "0"
219
+ X-Aspnet-Version:
220
+ - 4.0.30319
221
+ X-Powered-By:
222
+ - ASP.NET
223
+ Cache-Control:
224
+ - private
225
+ body:
226
+ string: ""
227
+ http_version:
228
+ recorded_at: Tue, 27 Mar 2012 16:42:40 GMT
229
+ - request:
230
+ method: put
231
+ uri: https://api.edgecast.com/v2/mcc/customers/CUSTOMER_ID/edge/purge
232
+ body:
233
+ string: "{\"MediaType\":8,\"MediaPath\":\"\"}"
234
+ headers:
235
+ Accept:
236
+ - application/json
237
+ Authorization:
238
+ - TOKEN
239
+ Content-Length:
240
+ - "30"
241
+ Accept-Encoding:
242
+ - gzip, deflate
243
+ Content-Type:
244
+ - application/json
245
+ response:
246
+ status:
247
+ code: 400
248
+ message: Bad Request
249
+ headers:
250
+ Server:
251
+ - Microsoft-IIS/7.5
252
+ Date:
253
+ - Tue, 27 Mar 2012 16:41:30 GMT
254
+ Content-Length:
255
+ - "63"
256
+ X-Aspnet-Version:
257
+ - 4.0.30319
258
+ X-Powered-By:
259
+ - ASP.NET
260
+ Content-Type:
261
+ - application/json; charset=utf-8
262
+ Cache-Control:
263
+ - private
264
+ body:
265
+ string: "{\"Message\":\"MediaPath: Path is required for this media type. \"}"
266
+ http_version:
267
+ recorded_at: Tue, 27 Mar 2012 16:42:41 GMT
268
+ - request:
269
+ method: put
270
+ uri: https://api.edgecast.com/v2/mcc/customers/CUSTOMER_ID/edge/purge
271
+ body:
272
+ string: "{\"MediaType\":8,\"MediaPath\":\"http://www.amazon.com\"}"
273
+ headers:
274
+ Accept:
275
+ - application/json
276
+ Authorization:
277
+ - TOKEN
278
+ Content-Length:
279
+ - "51"
280
+ Accept-Encoding:
281
+ - gzip, deflate
282
+ Content-Type:
283
+ - application/json
284
+ response:
285
+ status:
286
+ code: 400
287
+ message: Bad Request
288
+ headers:
289
+ Server:
290
+ - Microsoft-IIS/7.5
291
+ Date:
292
+ - Tue, 27 Mar 2012 16:41:30 GMT
293
+ Content-Length:
294
+ - "183"
295
+ X-Aspnet-Version:
296
+ - 4.0.30319
297
+ X-Powered-By:
298
+ - ASP.NET
299
+ Content-Type:
300
+ - application/json; charset=utf-8
301
+ Cache-Control:
302
+ - private
303
+ body:
304
+ string: "{\"Message\":\"Invalid strPath parameter. Please double check the path to make sure it is valid. Also check that the media type id represents the correct platform for the path given.\"}"
305
+ http_version:
306
+ recorded_at: Tue, 27 Mar 2012 16:42:41 GMT
307
+ recorded_with: VCR 2.0.0
@@ -0,0 +1,143 @@
1
+ ---
2
+ recorded_with: VCR 2.0.0
3
+ http_interactions:
4
+ - request:
5
+ method: get
6
+ uri: https://api.edgecast.com/v2/mcc/customers/CUSTOMER_ID/compression
7
+ body:
8
+ string: ""
9
+ headers:
10
+ Authorization:
11
+ - TOKEN
12
+ Accept:
13
+ - application/json
14
+ Accept-Encoding:
15
+ - gzip, deflate
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Content-Type:
22
+ - application/json; charset=utf-8
23
+ X-Aspnet-Version:
24
+ - 4.0.30319
25
+ X-Powered-By:
26
+ - ASP.NET
27
+ Server:
28
+ - Microsoft-IIS/7.5
29
+ Date:
30
+ - Tue, 27 Mar 2012 16:39:23 GMT
31
+ Cache-Control:
32
+ - private
33
+ Content-Length:
34
+ - "133"
35
+ body:
36
+ string: "[{\"MediaTypeId\":8,\"Status\":1,\"ContentTypes\":[\"text\\/plain\",\"text\\/html\",\"text\\/css\",\"application\\/x-javascript\",\"text\\/javascript\"]}]"
37
+ http_version:
38
+ recorded_at: Tue, 27 Mar 2012 16:40:34 GMT
39
+ - request:
40
+ method: get
41
+ uri: https://api.edgecast.com/v2/mcc/customers/XXXX/compression
42
+ body:
43
+ string: ""
44
+ headers:
45
+ Authorization:
46
+ - invalid
47
+ Accept:
48
+ - application/json
49
+ Accept-Encoding:
50
+ - gzip, deflate
51
+ response:
52
+ status:
53
+ code: 403
54
+ message: Forbidden
55
+ headers:
56
+ Content-Type:
57
+ - application/json; charset=utf-8
58
+ X-Aspnet-Version:
59
+ - 4.0.30319
60
+ X-Powered-By:
61
+ - ASP.NET
62
+ Server:
63
+ - Microsoft-IIS/7.5
64
+ Date:
65
+ - Tue, 27 Mar 2012 16:39:24 GMT
66
+ Cache-Control:
67
+ - private
68
+ Content-Length:
69
+ - "26"
70
+ body:
71
+ string: "{\"Message\":\"Invalid User\"}"
72
+ http_version:
73
+ recorded_at: Tue, 27 Mar 2012 16:40:34 GMT
74
+ - request:
75
+ method: get
76
+ uri: https://api.edgecast.com/v2/mcc/customers/XXXX/compression
77
+ body:
78
+ string: ""
79
+ headers:
80
+ Authorization:
81
+ - valid
82
+ Accept:
83
+ - application/json
84
+ Accept-Encoding:
85
+ - gzip, deflate
86
+ response:
87
+ status:
88
+ code: 403
89
+ message: Forbidden
90
+ headers:
91
+ Content-Type:
92
+ - application/json; charset=utf-8
93
+ X-Aspnet-Version:
94
+ - 4.0.30319
95
+ X-Powered-By:
96
+ - ASP.NET
97
+ Server:
98
+ - Microsoft-IIS/7.5
99
+ Date:
100
+ - Tue, 27 Mar 2012 16:39:24 GMT
101
+ Cache-Control:
102
+ - private
103
+ Content-Length:
104
+ - "26"
105
+ body:
106
+ string: "{\"Message\":\"Invalid User\"}"
107
+ http_version:
108
+ recorded_at: Tue, 27 Mar 2012 16:40:35 GMT
109
+ - request:
110
+ method: get
111
+ uri: https://api.edgecast.com/v2/mcc/customers/XXXX/compression
112
+ body:
113
+ string: ""
114
+ headers:
115
+ Authorization:
116
+ - invalid
117
+ Accept:
118
+ - application/json
119
+ Accept-Encoding:
120
+ - gzip, deflate
121
+ response:
122
+ status:
123
+ code: 403
124
+ message: Forbidden
125
+ headers:
126
+ Content-Type:
127
+ - application/json; charset=utf-8
128
+ X-Aspnet-Version:
129
+ - 4.0.30319
130
+ X-Powered-By:
131
+ - ASP.NET
132
+ Server:
133
+ - Microsoft-IIS/7.5
134
+ Date:
135
+ - Tue, 27 Mar 2012 16:39:24 GMT
136
+ Cache-Control:
137
+ - private
138
+ Content-Length:
139
+ - "26"
140
+ body:
141
+ string: "{\"Message\":\"Invalid User\"}"
142
+ http_version:
143
+ recorded_at: Tue, 27 Mar 2012 16:40:35 GMT
data/spec/reggie_spec.rb CHANGED
@@ -1,7 +1,81 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
- describe "Reggie" do
4
- it "fails" do
5
- fail "hey buddy, you should probably rename this file and start specing for real"
3
+ describe Reggie do
4
+ context "new" do
5
+ before :all do
6
+ VCR.insert_cassette 'new', :record => :new_episodes
7
+ end
8
+
9
+ after :all do
10
+ VCR.eject_cassette
11
+ end
12
+
13
+ describe "with valid customer ID and valid authorization token" do
14
+ it "should return valid Reggie object" do
15
+ Reggie.new(:customer_id => EDGECAST_ACCOUNT[:customer_id], :token => EDGECAST_ACCOUNT[:token]).valid?.should be_true
16
+ end
17
+ end
18
+
19
+ describe "with valid customer ID and invalid authorization token" do
20
+ it "should return invalid Reggie object" do
21
+ Reggie.new(:customer_id => "XXXX", :token => "invalid").valid?.should be_false
22
+ end
23
+ end
24
+
25
+ describe "with invalid customer ID and valid authorization token" do
26
+ it "should return invalid Reggie object" do
27
+ Reggie.new(:customer_id => "XXXX", :token => "valid").valid?.should be_false
28
+ end
29
+ end
30
+
31
+ describe "with invalid customer ID and invalid authorization token" do
32
+ it "should return invalid Reggie object" do
33
+ Reggie.new(:customer_id => "XXXX", :token => "invalid").valid?.should be_false
34
+ end
35
+ end
36
+ end
37
+
38
+ context "Cache Management" do
39
+ before :all do
40
+ @reg = Reggie.new(:customer_id => EDGECAST_ACCOUNT[:customer_id], :token => EDGECAST_ACCOUNT[:token])
41
+ @urls = {
42
+ :empty => "",
43
+ :non_existent => "http://img.bleacherreport.net/img/slides/photos/002/037/135/XXX_crop_exact.jpg?w=650&h=440&q=85",
44
+ :valid => "http://img.bleacherreport.net/img/slides/photos/002/037/135/137267039_crop_exact.jpg?w=650&h=440&q=85",
45
+ :wrong_domain => "http://www.amazon.com",
46
+ }
47
+
48
+ VCR.insert_cassette 'cache_management', :record => :new_episodes
49
+ end
50
+
51
+ after :all do
52
+ VCR.eject_cassette
53
+ end
54
+
55
+ [:load, :purge].each do |method|
56
+ describe "#{method} valid cached image" do
57
+ it "should return a 200 response" do
58
+ @reg.send(method, @urls[:valid]).code.should == 200
59
+ end
60
+ end
61
+
62
+ describe "#{method} non-existent cached image" do
63
+ it "should return a 200 response" do
64
+ @reg.send(method, @urls[:non_existent]).code.should == 200
65
+ end
66
+ end
67
+
68
+ describe "#{method} empty URL" do
69
+ it "should return a RestClient::BadRequest" do
70
+ @reg.send(method, @urls[:empty]).should be_a RestClient::BadRequest
71
+ end
72
+ end
73
+
74
+ describe "#{method} image from wrong domain" do
75
+ it "should return a RestClient::BadRequest" do
76
+ @reg.send(method, @urls[:wrong_domain]).should be_a RestClient::BadRequest
77
+ end
78
+ end
79
+ end
6
80
  end
7
81
  end
data/spec/spec_helper.rb CHANGED
@@ -1,12 +1,25 @@
1
1
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
2
  $LOAD_PATH.unshift(File.dirname(__FILE__))
3
3
  require 'rspec'
4
+ require 'webmock/rspec'
5
+ require 'vcr'
4
6
  require 'reggie'
5
7
 
6
8
  # Requires supporting files with custom matchers and macros, etc,
7
9
  # in ./support/ and its subdirectories.
8
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
9
11
 
10
12
  RSpec.configure do |config|
11
-
12
13
  end
14
+
15
+ EDGECAST_ACCOUNT = {
16
+ :customer_id => 'REPLACE_ME',
17
+ :token => 'REPLACE_ME'
18
+ }
19
+
20
+ VCR.configure do |config|
21
+ config.cassette_library_dir = 'spec/fixtures/reggie'
22
+ config.filter_sensitive_data('CUSTOMER_ID') { EDGECAST_ACCOUNT[:customer_id] }
23
+ config.filter_sensitive_data('TOKEN') { EDGECAST_ACCOUNT[:token] }
24
+ config.hook_into :webmock
25
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reggie
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
+ - 1
8
9
  - 0
9
- - 0
10
- version: 0.0.0
10
+ version: 0.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jimmy Huang
@@ -15,14 +15,28 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-03-02 00:00:00 -08:00
18
+ date: 2012-03-27 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ prerelease: false
23
+ name: rest-client
24
+ type: :runtime
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
34
+ requirement: *id001
21
35
  - !ruby/object:Gem::Dependency
22
36
  prerelease: false
23
37
  name: rspec
24
38
  type: :development
25
- version_requirements: &id001 !ruby/object:Gem::Requirement
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
26
40
  none: false
27
41
  requirements:
28
42
  - - ~>
@@ -33,12 +47,12 @@ dependencies:
33
47
  - 8
34
48
  - 0
35
49
  version: 2.8.0
36
- requirement: *id001
50
+ requirement: *id002
37
51
  - !ruby/object:Gem::Dependency
38
52
  prerelease: false
39
53
  name: rdoc
40
54
  type: :development
41
- version_requirements: &id002 !ruby/object:Gem::Requirement
55
+ version_requirements: &id003 !ruby/object:Gem::Requirement
42
56
  none: false
43
57
  requirements:
44
58
  - - ~>
@@ -48,12 +62,12 @@ dependencies:
48
62
  - 3
49
63
  - 12
50
64
  version: "3.12"
51
- requirement: *id002
65
+ requirement: *id003
52
66
  - !ruby/object:Gem::Dependency
53
67
  prerelease: false
54
68
  name: bundler
55
69
  type: :development
56
- version_requirements: &id003 !ruby/object:Gem::Requirement
70
+ version_requirements: &id004 !ruby/object:Gem::Requirement
57
71
  none: false
58
72
  requirements:
59
73
  - - ~>
@@ -64,12 +78,12 @@ dependencies:
64
78
  - 0
65
79
  - 0
66
80
  version: 1.0.0
67
- requirement: *id003
81
+ requirement: *id004
68
82
  - !ruby/object:Gem::Dependency
69
83
  prerelease: false
70
84
  name: jeweler
71
85
  type: :development
72
- version_requirements: &id004 !ruby/object:Gem::Requirement
86
+ version_requirements: &id005 !ruby/object:Gem::Requirement
73
87
  none: false
74
88
  requirements:
75
89
  - - ~>
@@ -80,20 +94,6 @@ dependencies:
80
94
  - 8
81
95
  - 3
82
96
  version: 1.8.3
83
- requirement: *id004
84
- - !ruby/object:Gem::Dependency
85
- prerelease: false
86
- name: rcov
87
- type: :development
88
- version_requirements: &id005 !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- hash: 3
94
- segments:
95
- - 0
96
- version: "0"
97
97
  requirement: *id005
98
98
  description: A Ruby wrapper for a caching API
99
99
  email: jimmy.huang@duragility.com
@@ -113,6 +113,9 @@ files:
113
113
  - Rakefile
114
114
  - VERSION
115
115
  - lib/reggie.rb
116
+ - reggie.gemspec
117
+ - spec/fixtures/reggie/cache_management.yml
118
+ - spec/fixtures/reggie/new.yml
116
119
  - spec/reggie_spec.rb
117
120
  - spec/spec_helper.rb
118
121
  has_rdoc: true