tangerine 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.1
1
+ 0.6.2
@@ -5,6 +5,8 @@ require 'digest/sha2'
5
5
  module Tangerine
6
6
  module Backlot
7
7
 
8
+ class NotAuthenticatedError < RuntimeError; end
9
+
8
10
  class HTTP
9
11
  include HTTParty
10
12
  base_uri 'http://api.ooyala.com/partner'
@@ -19,6 +21,8 @@ module Tangerine
19
21
  end
20
22
 
21
23
  def self.get(request_type, params={})
24
+ raise NotAuthenticatedError unless self.authenticated?
25
+
22
26
  params['expires'] ||= (Time.now.to_i + 10).to_s
23
27
  params['signature'] = self.signature(params)
24
28
  HTTP.get(request_type, {:query => params})
@@ -32,6 +36,10 @@ module Tangerine
32
36
  Base64::encode64(digest).chomp.gsub(/=+$/, '')
33
37
  end
34
38
 
39
+ def self.authenticated?
40
+ @secret && HTTP.default_params[:pcode]
41
+ end
42
+
35
43
  end
36
44
 
37
45
  end
@@ -1,44 +1,64 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
2
 
3
3
  describe Tangerine::Backlot do
4
- authenticate!
5
4
 
6
- describe Tangerine::Backlot::HTTP do
7
- subject { Tangerine::Backlot::HTTP }
8
- its(:base_uri) { should == 'http://api.ooyala.com/partner' }
9
- end
10
-
11
- describe Tangerine::Backlot::API do
12
- context 'class methods' do
5
+ describe 'when not authenticated' do
6
+ describe Tangerine::Backlot::API do
13
7
  subject { Tangerine::Backlot::API }
14
8
 
9
+ its(:authenticated?) { should be_false }
10
+
15
11
  describe '.get' do
12
+ it 'complains about not yet being authenticated' do
13
+ expect{ subject.get('/query') }.should raise_error(Tangerine::Backlot::NotAuthenticatedError)
14
+ end
15
+ end
16
16
 
17
- let(:response) { mock }
18
- let(:request) { '/some-request-path' }
17
+ end
18
+ end
19
19
 
20
- it 'returns the HTTP response' do
21
- Tangerine::Backlot::HTTP.should_receive(:get).and_return(response)
22
- subject.get(request).should == response
23
- end
20
+ describe 'when authenticated' do
21
+ authenticate!
24
22
 
25
- context 'when making subsequent requests' do
23
+ describe Tangerine::Backlot::HTTP do
24
+ subject { Tangerine::Backlot::HTTP }
25
+ its(:base_uri) { should == 'http://api.ooyala.com/partner' }
26
+ end
26
27
 
27
- let(:original_params) { { 'contentType' => 'Channel' } }
28
- before do
29
- Tangerine::Backlot::HTTP.stub(:get)
30
- Tangerine::Backlot::API.get('/query', original_params)
28
+ describe Tangerine::Backlot::API do
29
+ context 'class methods' do
30
+ subject { Tangerine::Backlot::API }
31
+
32
+ its(:authenticated?) { should be_true }
33
+
34
+ describe '.get' do
35
+
36
+ let(:response) { mock }
37
+ let(:request) { '/some-request-path' }
38
+
39
+ it 'returns the HTTP response' do
40
+ Tangerine::Backlot::HTTP.should_receive(:get).and_return(response)
41
+ subject.get(request).should == response
31
42
  end
32
- subject { Tangerine::Backlot::HTTP }
33
43
 
34
- it 'clears parameters before the new request' do
35
- Tangerine::Backlot::API.get('/channel_sets', 'mode' => 'list')
36
- subject.default_params.keys.should_not include('contentType')
44
+ context 'when making subsequent requests' do
45
+
46
+ let(:original_params) { { 'contentType' => 'Channel' } }
47
+ before do
48
+ Tangerine::Backlot::HTTP.stub(:get)
49
+ Tangerine::Backlot::API.get('/query', original_params)
50
+ end
51
+ subject { Tangerine::Backlot::HTTP }
52
+
53
+ it 'clears parameters before the new request' do
54
+ Tangerine::Backlot::API.get('/channel_sets', 'mode' => 'list')
55
+ subject.default_params.keys.should_not include('contentType')
56
+ end
37
57
  end
58
+
38
59
  end
39
60
 
40
61
  end
41
-
42
62
  end
43
63
  end
44
64
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{tangerine}
8
- s.version = "0.6.1"
8
+ s.version = "0.6.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Anthony Navarre", "Craig Williams"]
12
- s.date = %q{2011-05-01}
12
+ s.date = %q{2011-05-12}
13
13
  s.description = %q{Ooyala Backlot API Wrapper. Read more about the Ooyala Backlot API at http://www.ooyala.com/support/docs/backlot_api}
14
14
  s.email = %q{anthony.navarre@factorylabs.com}
15
15
  s.extra_rdoc_files = [
@@ -55,7 +55,7 @@ Gem::Specification.new do |s|
55
55
  s.homepage = %q{http://github.com/factorylabs/tangerine}
56
56
  s.licenses = ["MIT"]
57
57
  s.require_paths = ["lib"]
58
- s.rubygems_version = %q{1.3.7}
58
+ s.rubygems_version = %q{1.6.0}
59
59
  s.summary = %q{Ooyala Backlot API Wrapper}
60
60
  s.test_files = [
61
61
  "spec/spec_helper.rb",
@@ -72,7 +72,6 @@ Gem::Specification.new do |s|
72
72
  ]
73
73
 
74
74
  if s.respond_to? :specification_version then
75
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
76
75
  s.specification_version = 3
77
76
 
78
77
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tangerine
3
3
  version: !ruby/object:Gem::Version
4
- hash: 5
5
- prerelease: false
4
+ hash: 3
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
- - 1
10
- version: 0.6.1
9
+ - 2
10
+ version: 0.6.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Anthony Navarre
@@ -16,14 +16,11 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-05-01 00:00:00 -06:00
19
+ date: 2011-05-12 00:00:00 -06:00
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
- prerelease: false
24
- type: :runtime
25
- name: httparty
26
- version_requirements: &id001 !ruby/object:Gem::Requirement
23
+ requirement: &id001 !ruby/object:Gem::Requirement
27
24
  none: false
28
25
  requirements:
29
26
  - - ~>
@@ -34,12 +31,12 @@ dependencies:
34
31
  - 7
35
32
  - 4
36
33
  version: 0.7.4
37
- requirement: *id001
38
- - !ruby/object:Gem::Dependency
34
+ version_requirements: *id001
35
+ name: httparty
39
36
  prerelease: false
40
37
  type: :runtime
41
- name: activesupport
42
- version_requirements: &id002 !ruby/object:Gem::Requirement
38
+ - !ruby/object:Gem::Dependency
39
+ requirement: &id002 !ruby/object:Gem::Requirement
43
40
  none: false
44
41
  requirements:
45
42
  - - ~>
@@ -50,12 +47,12 @@ dependencies:
50
47
  - 0
51
48
  - 5
52
49
  version: 3.0.5
53
- requirement: *id002
54
- - !ruby/object:Gem::Dependency
50
+ version_requirements: *id002
51
+ name: activesupport
55
52
  prerelease: false
56
53
  type: :runtime
57
- name: json
58
- version_requirements: &id003 !ruby/object:Gem::Requirement
54
+ - !ruby/object:Gem::Dependency
55
+ requirement: &id003 !ruby/object:Gem::Requirement
59
56
  none: false
60
57
  requirements:
61
58
  - - ">="
@@ -66,12 +63,12 @@ dependencies:
66
63
  - 4
67
64
  - 6
68
65
  version: 1.4.6
69
- requirement: *id003
70
- - !ruby/object:Gem::Dependency
66
+ version_requirements: *id003
67
+ name: json
71
68
  prerelease: false
72
69
  type: :runtime
73
- name: i18n
74
- version_requirements: &id004 !ruby/object:Gem::Requirement
70
+ - !ruby/object:Gem::Dependency
71
+ requirement: &id004 !ruby/object:Gem::Requirement
75
72
  none: false
76
73
  requirements:
77
74
  - - ~>
@@ -82,12 +79,12 @@ dependencies:
82
79
  - 5
83
80
  - 0
84
81
  version: 0.5.0
85
- requirement: *id004
86
- - !ruby/object:Gem::Dependency
82
+ version_requirements: *id004
83
+ name: i18n
87
84
  prerelease: false
88
- type: :development
89
- name: rspec
90
- version_requirements: &id005 !ruby/object:Gem::Requirement
85
+ type: :runtime
86
+ - !ruby/object:Gem::Dependency
87
+ requirement: &id005 !ruby/object:Gem::Requirement
91
88
  none: false
92
89
  requirements:
93
90
  - - ~>
@@ -98,12 +95,12 @@ dependencies:
98
95
  - 3
99
96
  - 0
100
97
  version: 2.3.0
101
- requirement: *id005
102
- - !ruby/object:Gem::Dependency
98
+ version_requirements: *id005
99
+ name: rspec
103
100
  prerelease: false
104
101
  type: :development
105
- name: yard
106
- version_requirements: &id006 !ruby/object:Gem::Requirement
102
+ - !ruby/object:Gem::Dependency
103
+ requirement: &id006 !ruby/object:Gem::Requirement
107
104
  none: false
108
105
  requirements:
109
106
  - - ~>
@@ -114,12 +111,12 @@ dependencies:
114
111
  - 6
115
112
  - 0
116
113
  version: 0.6.0
117
- requirement: *id006
118
- - !ruby/object:Gem::Dependency
114
+ version_requirements: *id006
115
+ name: yard
119
116
  prerelease: false
120
117
  type: :development
121
- name: bundler
122
- version_requirements: &id007 !ruby/object:Gem::Requirement
118
+ - !ruby/object:Gem::Dependency
119
+ requirement: &id007 !ruby/object:Gem::Requirement
123
120
  none: false
124
121
  requirements:
125
122
  - - ~>
@@ -130,12 +127,12 @@ dependencies:
130
127
  - 0
131
128
  - 0
132
129
  version: 1.0.0
133
- requirement: *id007
134
- - !ruby/object:Gem::Dependency
130
+ version_requirements: *id007
131
+ name: bundler
135
132
  prerelease: false
136
133
  type: :development
137
- name: jeweler
138
- version_requirements: &id008 !ruby/object:Gem::Requirement
134
+ - !ruby/object:Gem::Dependency
135
+ requirement: &id008 !ruby/object:Gem::Requirement
139
136
  none: false
140
137
  requirements:
141
138
  - - ~>
@@ -146,12 +143,12 @@ dependencies:
146
143
  - 5
147
144
  - 2
148
145
  version: 1.5.2
149
- requirement: *id008
150
- - !ruby/object:Gem::Dependency
146
+ version_requirements: *id008
147
+ name: jeweler
151
148
  prerelease: false
152
149
  type: :development
153
- name: rcov
154
- version_requirements: &id009 !ruby/object:Gem::Requirement
150
+ - !ruby/object:Gem::Dependency
151
+ requirement: &id009 !ruby/object:Gem::Requirement
155
152
  none: false
156
153
  requirements:
157
154
  - - ">="
@@ -160,12 +157,12 @@ dependencies:
160
157
  segments:
161
158
  - 0
162
159
  version: "0"
163
- requirement: *id009
164
- - !ruby/object:Gem::Dependency
160
+ version_requirements: *id009
161
+ name: rcov
165
162
  prerelease: false
166
163
  type: :development
167
- name: vcr
168
- version_requirements: &id010 !ruby/object:Gem::Requirement
164
+ - !ruby/object:Gem::Dependency
165
+ requirement: &id010 !ruby/object:Gem::Requirement
169
166
  none: false
170
167
  requirements:
171
168
  - - "="
@@ -176,12 +173,12 @@ dependencies:
176
173
  - 7
177
174
  - 0
178
175
  version: 1.7.0
179
- requirement: *id010
180
- - !ruby/object:Gem::Dependency
176
+ version_requirements: *id010
177
+ name: vcr
181
178
  prerelease: false
182
179
  type: :development
183
- name: fakeweb
184
- version_requirements: &id011 !ruby/object:Gem::Requirement
180
+ - !ruby/object:Gem::Dependency
181
+ requirement: &id011 !ruby/object:Gem::Requirement
185
182
  none: false
186
183
  requirements:
187
184
  - - "="
@@ -192,12 +189,12 @@ dependencies:
192
189
  - 3
193
190
  - 0
194
191
  version: 1.3.0
195
- requirement: *id011
196
- - !ruby/object:Gem::Dependency
192
+ version_requirements: *id011
193
+ name: fakeweb
197
194
  prerelease: false
198
195
  type: :development
199
- name: timecop
200
- version_requirements: &id012 !ruby/object:Gem::Requirement
196
+ - !ruby/object:Gem::Dependency
197
+ requirement: &id012 !ruby/object:Gem::Requirement
201
198
  none: false
202
199
  requirements:
203
200
  - - "="
@@ -208,12 +205,12 @@ dependencies:
208
205
  - 3
209
206
  - 5
210
207
  version: 0.3.5
211
- requirement: *id012
212
- - !ruby/object:Gem::Dependency
208
+ version_requirements: *id012
209
+ name: timecop
213
210
  prerelease: false
214
211
  type: :development
215
- name: factory_girl
216
- version_requirements: &id013 !ruby/object:Gem::Requirement
212
+ - !ruby/object:Gem::Dependency
213
+ requirement: &id013 !ruby/object:Gem::Requirement
217
214
  none: false
218
215
  requirements:
219
216
  - - "="
@@ -224,12 +221,12 @@ dependencies:
224
221
  - 3
225
222
  - 3
226
223
  version: 1.3.3
227
- requirement: *id013
228
- - !ruby/object:Gem::Dependency
224
+ version_requirements: *id013
225
+ name: factory_girl
229
226
  prerelease: false
230
227
  type: :development
231
- name: ruby-debug
232
- version_requirements: &id014 !ruby/object:Gem::Requirement
228
+ - !ruby/object:Gem::Dependency
229
+ requirement: &id014 !ruby/object:Gem::Requirement
233
230
  none: false
234
231
  requirements:
235
232
  - - "="
@@ -240,12 +237,12 @@ dependencies:
240
237
  - 10
241
238
  - 4
242
239
  version: 0.10.4
243
- requirement: *id014
244
- - !ruby/object:Gem::Dependency
240
+ version_requirements: *id014
241
+ name: ruby-debug
245
242
  prerelease: false
246
- type: :runtime
247
- name: httparty
248
- version_requirements: &id015 !ruby/object:Gem::Requirement
243
+ type: :development
244
+ - !ruby/object:Gem::Dependency
245
+ requirement: &id015 !ruby/object:Gem::Requirement
249
246
  none: false
250
247
  requirements:
251
248
  - - ">="
@@ -254,12 +251,12 @@ dependencies:
254
251
  segments:
255
252
  - 0
256
253
  version: "0"
257
- requirement: *id015
258
- - !ruby/object:Gem::Dependency
254
+ version_requirements: *id015
255
+ name: httparty
259
256
  prerelease: false
260
257
  type: :runtime
261
- name: activesupport
262
- version_requirements: &id016 !ruby/object:Gem::Requirement
258
+ - !ruby/object:Gem::Dependency
259
+ requirement: &id016 !ruby/object:Gem::Requirement
263
260
  none: false
264
261
  requirements:
265
262
  - - ">="
@@ -268,12 +265,12 @@ dependencies:
268
265
  segments:
269
266
  - 0
270
267
  version: "0"
271
- requirement: *id016
272
- - !ruby/object:Gem::Dependency
268
+ version_requirements: *id016
269
+ name: activesupport
273
270
  prerelease: false
274
271
  type: :runtime
275
- name: json
276
- version_requirements: &id017 !ruby/object:Gem::Requirement
272
+ - !ruby/object:Gem::Dependency
273
+ requirement: &id017 !ruby/object:Gem::Requirement
277
274
  none: false
278
275
  requirements:
279
276
  - - "="
@@ -284,7 +281,10 @@ dependencies:
284
281
  - 4
285
282
  - 6
286
283
  version: 1.4.6
287
- requirement: *id017
284
+ version_requirements: *id017
285
+ name: json
286
+ prerelease: false
287
+ type: :runtime
288
288
  description: Ooyala Backlot API Wrapper. Read more about the Ooyala Backlot API at http://www.ooyala.com/support/docs/backlot_api
289
289
  email: anthony.navarre@factorylabs.com
290
290
  executables: []
@@ -359,7 +359,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
359
359
  requirements: []
360
360
 
361
361
  rubyforge_project:
362
- rubygems_version: 1.3.7
362
+ rubygems_version: 1.6.0
363
363
  signing_key:
364
364
  specification_version: 3
365
365
  summary: Ooyala Backlot API Wrapper