panda 1.4.3 → 1.4.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,13 @@
1
+ ## 1.4.4 (August 25, 2011)
2
+
3
+ Features:
4
+ Updated the faraday interface to use typhoeus and recent faraday
5
+
6
+ ## 1.4.3 (August 18, 2011)
7
+
8
+ Features:
9
+ Validates credentials on configure
10
+
1
11
  ## 1.4.2 (February 16, 2011)
2
12
 
3
13
  Features:
data/README.md CHANGED
@@ -19,7 +19,7 @@ Panda gem provides an interface to access the [Panda](http://pandastream.com) AP
19
19
  access_key "panda_access_key"
20
20
  secret_key "panda_secret_key"
21
21
  cloud_id "panda_cloud_id"
22
- # api_host "api.eu.pandastream.com" ## for EU accounts
22
+ # api_host "api-eu.pandastream.com" ## for EU accounts
23
23
  # api_port 80 ## to use http (default 443)
24
24
  end
25
25
 
@@ -1,5 +1,6 @@
1
1
  require 'faraday'
2
2
  require 'yajl/json_gem'
3
+ require 'typhoeus'
3
4
 
4
5
  module Panda
5
6
  module Adapter
@@ -51,16 +52,16 @@ module Panda
51
52
  private
52
53
 
53
54
  def connection
54
- @conn ||= ::Faraday::Connection.new(:url => @api_url) do |builder|
55
- builder.adapter :net_http
56
- builder.response :yajl
55
+ @conn ||= ::Faraday.new(:url => @api_url) do |builder|
56
+ builder.request :url_encoded
57
+ builder.adapter :typhoeus
57
58
  end
58
59
  end
59
60
 
60
61
  def rescue_json_parsing(&block)
61
62
  begin
62
- yield || raise(ServiceNotAvailable)
63
- rescue ::Faraday::Error::ParsingError => e
63
+ Yajl::Parser.parse(yield)
64
+ rescue Yajl::ParseError => e
64
65
  raise(ServiceNotAvailable)
65
66
  end
66
67
  end
@@ -2,7 +2,7 @@ module Panda
2
2
 
3
3
  API_PORT=443
4
4
  US_API_HOST="api.pandastream.com"
5
- EU_API_HOST="api.eu.pandastream.com"
5
+ EU_API_HOST="api-eu.pandastream.com"
6
6
 
7
7
  class Connection
8
8
  attr_accessor :api_host, :api_port, :access_key, :secret_key, :api_version, :cloud_id
@@ -58,7 +58,7 @@ module Panda
58
58
  end
59
59
 
60
60
  def api_scheme
61
- api_port == 443 ? 'https' : 'http'
61
+ api_port.to_i == 443 ? 'https' : 'http'
62
62
  end
63
63
 
64
64
  # Shortcut to setup your bucket
@@ -8,9 +8,9 @@ module Panda
8
8
  module ClassMethods
9
9
 
10
10
  def delete(id)
11
- uri = json_path(create_rest_url(one_path,{:id =>id}))
11
+ uri = create_rest_url(one_path,{:id =>id})
12
12
  response = connection.delete(uri)
13
- response['deleted'] == 'ok'
13
+ !!response['deleted']
14
14
  end
15
15
 
16
16
  end
@@ -1,3 +1,3 @@
1
1
  module Panda
2
- VERSION = "1.4.3"
2
+ VERSION = "1.4.4"
3
3
  end
@@ -20,7 +20,7 @@ describe Panda::Cloud do
20
20
  Panda.configure do
21
21
  access_key "my_access_key"
22
22
  secret_key "my_secret_key"
23
- api_host "api.eu.pandastream.com"
23
+ api_host "api-eu.pandastream.com"
24
24
  cloud_id 'my_cloud_id'
25
25
  api_port 85
26
26
  end
@@ -122,14 +122,27 @@ describe Panda::Video do
122
122
  region "eu"
123
123
  end
124
124
 
125
- stub_http_request(:get, /api.eu.pandastream.com:443/).
125
+ stub_http_request(:get, /api-eu.pandastream.com:443/).
126
+ to_return(:body => "{\"id\":\"123\"}")
127
+ Panda::Video.find "123"
128
+ end
129
+
130
+ it "should accept a string as a port" do
131
+ Panda.configure do
132
+ access_key "my_access_key"
133
+ secret_key "my_secret_key"
134
+ cloud_id 'my_cloud_id'
135
+ api_port '443'
136
+ end
137
+
138
+ stub_http_request(:get, /https:\/\/api.pandastream.com:443/).
126
139
  to_return(:body => "{\"id\":\"123\"}")
127
140
  Panda::Video.find "123"
128
141
  end
129
142
 
130
143
  it "should connect to eu and trigger the request" do
131
144
  cloud_json = "{\"s3_videos_bucket\":\"my_bucket\",\"id\":\"my_cloud_id\"}"
132
- stub_http_request(:get, /api.eu.pandastream.com:80\/v2\/clouds\/my_cloud_id.json/).
145
+ stub_http_request(:get, /api-eu.pandastream.com:80\/v2\/clouds\/my_cloud_id.json/).
133
146
  to_return(:body => cloud_json)
134
147
 
135
148
  Panda.configure do |c|
@@ -139,7 +152,7 @@ describe Panda::Video do
139
152
  c.region "eu"
140
153
  end
141
154
 
142
- stub_http_request(:get, /api.eu.pandastream.com:443/).
155
+ stub_http_request(:get, /api-eu.pandastream.com:443/).
143
156
  to_return(:body => "{\"id\":\"123\"}")
144
157
  Panda::Video.find "123"
145
158
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: panda
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 15
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 4
9
- - 3
10
- version: 1.4.3
9
+ - 4
10
+ version: 1.4.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - New Bamboo
@@ -15,12 +15,10 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-08-18 00:00:00 Z
18
+ date: 2011-08-25 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- name: ruby-hmac
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
21
+ version_requirements: &id001 !ruby/object:Gem::Requirement
24
22
  none: false
25
23
  requirements:
26
24
  - - ">="
@@ -31,12 +29,12 @@ dependencies:
31
29
  - 3
32
30
  - 2
33
31
  version: 0.3.2
32
+ name: ruby-hmac
34
33
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: rest-client
38
34
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
35
+ requirement: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ version_requirements: &id002 !ruby/object:Gem::Requirement
40
38
  none: false
41
39
  requirements:
42
40
  - - ">="
@@ -45,12 +43,12 @@ dependencies:
45
43
  segments:
46
44
  - 0
47
45
  version: "0"
46
+ name: rest-client
48
47
  type: :runtime
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: json
52
48
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
49
+ requirement: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ version_requirements: &id003 !ruby/object:Gem::Requirement
54
52
  none: false
55
53
  requirements:
56
54
  - - ">="
@@ -59,12 +57,12 @@ dependencies:
59
57
  segments:
60
58
  - 0
61
59
  version: "0"
60
+ name: json
62
61
  type: :runtime
63
- version_requirements: *id003
64
- - !ruby/object:Gem::Dependency
65
- name: rake
66
62
  prerelease: false
67
- requirement: &id004 !ruby/object:Gem::Requirement
63
+ requirement: *id003
64
+ - !ruby/object:Gem::Dependency
65
+ version_requirements: &id004 !ruby/object:Gem::Requirement
68
66
  none: false
69
67
  requirements:
70
68
  - - ">="
@@ -73,12 +71,12 @@ dependencies:
73
71
  segments:
74
72
  - 0
75
73
  version: "0"
74
+ name: rake
76
75
  type: :development
77
- version_requirements: *id004
78
- - !ruby/object:Gem::Dependency
79
- name: timecop
80
76
  prerelease: false
81
- requirement: &id005 !ruby/object:Gem::Requirement
77
+ requirement: *id004
78
+ - !ruby/object:Gem::Dependency
79
+ version_requirements: &id005 !ruby/object:Gem::Requirement
82
80
  none: false
83
81
  requirements:
84
82
  - - ">="
@@ -87,12 +85,12 @@ dependencies:
87
85
  segments:
88
86
  - 0
89
87
  version: "0"
88
+ name: timecop
90
89
  type: :development
91
- version_requirements: *id005
92
- - !ruby/object:Gem::Dependency
93
- name: rspec
94
90
  prerelease: false
95
- requirement: &id006 !ruby/object:Gem::Requirement
91
+ requirement: *id005
92
+ - !ruby/object:Gem::Dependency
93
+ version_requirements: &id006 !ruby/object:Gem::Requirement
96
94
  none: false
97
95
  requirements:
98
96
  - - "="
@@ -103,12 +101,12 @@ dependencies:
103
101
  - 4
104
102
  - 0
105
103
  version: 2.4.0
104
+ name: rspec
106
105
  type: :development
107
- version_requirements: *id006
108
- - !ruby/object:Gem::Dependency
109
- name: webmock
110
106
  prerelease: false
111
- requirement: &id007 !ruby/object:Gem::Requirement
107
+ requirement: *id006
108
+ - !ruby/object:Gem::Dependency
109
+ version_requirements: &id007 !ruby/object:Gem::Requirement
112
110
  none: false
113
111
  requirements:
114
112
  - - ">="
@@ -117,8 +115,10 @@ dependencies:
117
115
  segments:
118
116
  - 0
119
117
  version: "0"
118
+ name: webmock
120
119
  type: :development
121
- version_requirements: *id007
120
+ prerelease: false
121
+ requirement: *id007
122
122
  description: Panda Client
123
123
  email:
124
124
  - info@pandastream.com
@@ -203,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
203
203
  requirements: []
204
204
 
205
205
  rubyforge_project: panda
206
- rubygems_version: 1.8.5
206
+ rubygems_version: 1.8.6
207
207
  signing_key:
208
208
  specification_version: 3
209
209
  summary: Panda Client