cloudapp_api 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,43 @@
1
+ require 'fakeweb'
2
+
3
+ FakeWeb.allow_net_connect = false
4
+
5
+ def stub_file(stub)
6
+ File.join(File.dirname(__FILE__), 'stubs', stub)
7
+ end
8
+
9
+ def fake_it_all
10
+ FakeWeb.clean_registry
11
+ FakeWeb.register_uri :head, %r{http://(my.|f.)?cl.ly(/items)?}, :status => ["200", "OK"]
12
+ FakeWeb.register_uri :post, 'http://f.cl.ly', :status => ["303"], :location => "http://my.cl.ly/items/s3"
13
+ FakeWeb.register_uri :post, 'http://my.cl.ly/reset', :status => ["200", "OK"]
14
+ {
15
+ # GET URLs
16
+ :get => {
17
+ %r{http://cl.ly/} => File.join('item', 'show'),
18
+ 'http://my.cl.ly/items' => File.join('item', 'index'),
19
+ 'http://my.cl.ly/items/new' => File.join('item', 'new'),
20
+ 'http://my.cl.ly/items/s3' => File.join('item', 'show'),
21
+ 'http://my.cl.ly/account' => File.join('account', 'show')
22
+ },
23
+ # POST URLs
24
+ :post => {
25
+ %r{http://my.cl.ly/items} => File.join('item', 'create'),
26
+ 'http://my.cl.ly/register' => File.join('account', 'create')
27
+ },
28
+ # PUT URLs
29
+ :put => {
30
+ %r{http://my.cl.ly/items} => File.join('item', 'update'),
31
+ 'http://my.cl.ly/account' => File.join('account', 'update')
32
+ },
33
+ # DELETE URLs
34
+ :delete => {
35
+ %r{http://my.cl.ly/items} => File.join('item', 'delete')
36
+ }
37
+ }.
38
+ each do |method, requests|
39
+ requests.each do |url, response|
40
+ FakeWeb.register_uri(method, url, :response => stub_file(response))
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,13 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'fakeweb_helper.rb'
5
+ require 'cloudapp_api'
6
+
7
+ # Requires supporting files with custom matchers and macros, etc,
8
+ # in ./support/ and its subdirectories.
9
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
10
+
11
+ RSpec.configure do |config|
12
+ config.color_enabled = true
13
+ end
@@ -0,0 +1,16 @@
1
+ HTTP/1.1 201 Created
2
+ Status: 201
3
+ Content-Type: application/json; charset=utf-8
4
+
5
+ {
6
+ "id": 1,
7
+ "email": "arthur@dent.com",
8
+ "domain": null,
9
+ "domain_home_page": null,
10
+ "private_items": true,
11
+ "subscribed": false,
12
+ "alpha": false,
13
+ "created_at": "2010-12-10T17:07:01Z",
14
+ "updated_at": "2010-12-10T17:07:01Z",
15
+ "activated_at": null
16
+ }
@@ -0,0 +1,16 @@
1
+ HTTP/1.1 200 OK
2
+ Status: 200
3
+ Content-Type: application/json; charset=utf-8
4
+
5
+ {
6
+ "id": 1,
7
+ "email": "arthur@dent.com",
8
+ "domain": null,
9
+ "domain_home_page": null,
10
+ "private_items": true,
11
+ "subscribed": false,
12
+ "alpha": false,
13
+ "created_at": "2010-12-10T17:07:01Z",
14
+ "updated_at": "2010-12-10T17:12:51Z",
15
+ "activated_at": "2010-12-10T17:12:51Z"
16
+ }
@@ -0,0 +1,16 @@
1
+ HTTP/1.1 200 OK
2
+ Status: 200
3
+ Content-Type: application/json; charset=utf-8
4
+
5
+ {
6
+ "id": 1,
7
+ "email": "ford@prefect.com",
8
+ "domain": "dent.com",
9
+ "domain_home_page": "http://hhgproject.org",
10
+ "private_items": false,
11
+ "subscribed": false,
12
+ "alpha": false,
13
+ "created_at": "2010-12-10T17:07:01Z",
14
+ "updated_at": "2010-12-10T20:33:38Z",
15
+ "activated_at": "2010-12-10T17:12:51Z"
16
+ }
@@ -0,0 +1,19 @@
1
+ HTTP/1.1 200 OK
2
+ Status: 200
3
+ Content-Type: application/json; charset=utf-8
4
+
5
+ {
6
+ "href": "http://my.cl.ly/items/1912565",
7
+ "name": "CloudApp",
8
+ "private": true,
9
+ "url": "http://cl.ly/4febbfdfb185c63d5e14",
10
+ "content_url": "http://cl.ly/4febbfdfb185c63d5e14/content",
11
+ "item_type": "bookmark",
12
+ "view_counter": 0,
13
+ "icon": "http://my.cl.ly/images/item_types/bookmark.png",
14
+ "remote_url": null,
15
+ "redirect_url": "http://getcloudapp.com",
16
+ "created_at": "2010-10-23T19:50:24Z",
17
+ "updated_at": "2010-10-23T19:50:39Z",
18
+ "deleted_at": null
19
+ }
@@ -0,0 +1,19 @@
1
+ HTTP/1.1 200 OK
2
+ Status: 200
3
+ Content-Type: application/json; charset=utf-8
4
+
5
+ {
6
+ "href": "http://my.cl.ly/items/1912565",
7
+ "name": "CloudApp",
8
+ "private": false,
9
+ "url": "http://cl.ly/2wt6",
10
+ "content_url": "http://cl.ly/2wt6/content",
11
+ "item_type": "bookmark",
12
+ "view_counter": 0,
13
+ "icon": "http://my.cl.ly/images/item_types/bookmark.png",
14
+ "remote_url": null,
15
+ "redirect_url": "http://getcloudapp.com",
16
+ "created_at": "2010-10-23T21:15:21Z",
17
+ "updated_at": "2010-10-23T21:17:04Z",
18
+ "deleted_at": "2010-10-25T14:37:43Z"
19
+ }
@@ -0,0 +1,47 @@
1
+ HTTP/1.1 200 OK
2
+ Status: 200
3
+ Content-Type: application/json; charset=utf-8
4
+
5
+ [{
6
+ "href": "http://my.cl.ly/items/1912729",
7
+ "name": "My CloudApp",
8
+ "private": true,
9
+ "url": "http://cl.ly/40b6ab341aca432a34ee",
10
+ "content_url": "http://cl.ly/40b6ab341aca432a34ee/content",
11
+ "item_type": "bookmark",
12
+ "view_counter": 0,
13
+ "icon": "http://my.cl.ly/images/item_types/bookmark.png",
14
+ "remote_url": null,
15
+ "redirect_url": "http://my.cl.ly",
16
+ "created_at": "2010-10-23T20:10:37Z",
17
+ "updated_at": "2010-10-23T20:10:41Z",
18
+ "deleted_at": null
19
+ }, {
20
+ "href": "http://my.cl.ly/items/1912565",
21
+ "name": "CloudApp",
22
+ "private": false,
23
+ "url": "http://cl.ly/2wt6",
24
+ "content_url": "http://cl.ly/2wt6/content",
25
+ "item_type": "bookmark",
26
+ "view_counter": 2,
27
+ "icon": "http://my.cl.ly/images/item_types/bookmark.png",
28
+ "remote_url": null,
29
+ "redirect_url": "http://getcloudapp.com",
30
+ "created_at": "2010-10-23T19:50:24Z",
31
+ "updated_at": "2010-10-23T19:50:39Z",
32
+ "deleted_at": null
33
+ }, {
34
+ "href": "http://my.cl.ly/items/1912559",
35
+ "name": "CloudApp Logo.png",
36
+ "private": false,
37
+ "url": "http://cl.ly/2wr4",
38
+ "content_url": "http://cl.ly/2wr4/content",
39
+ "item_type": "image",
40
+ "view_counter": 2,
41
+ "icon": "http://my.cl.ly/images/item_types/image.png",
42
+ "remote_url": "http://f.cl.ly/items/7c7aea1395c3db0aee18/CloudApp%20Logo.png",
43
+ "redirect_url": null,
44
+ "created_at": "2010-10-23T19:50:13Z",
45
+ "updated_at": "2010-10-23T19:50:38Z",
46
+ "deleted_at": null
47
+ }]
@@ -0,0 +1,15 @@
1
+ HTTP/1.1 200 OK
2
+ Status: 200
3
+ Content-Type: application/json; charset=utf-8
4
+
5
+ {
6
+ "url": "http://f.cl.ly",
7
+ "params": {
8
+ "AWSAccessKeyId": "AKIAIDPUZISHSBEOFS6Q",
9
+ "key": "items/qL/${filename}",
10
+ "acl": "public-read",
11
+ "success_action_redirect": "http://my.cl.ly/items/s3",
12
+ "signature": "2vRWmaSy46WGs0MDUdLHAqjSL8k=",
13
+ "policy": "eyJleHBpcmF0aW9uIjoiMjAxMC0wNC0wMVQwMDowMDowMFoiLCJjb25kaXRpb25zIjpbeyJidWNrZXQiOiJsaW5lYnJlYWstdGVzdCJ9LHsiYWNsIjoicHVibGljLXJlYWQifSx7InN1Y2Nlc3NfYWN0aW9uX3JlZGlyZWN0IjoiaHR0cDovL215LmNsb3VkYXBwLmxvY2FsL3VwbG9hZHMvczMifSxbInN0YXJ0cy13aXRoIiwiJGtleSIsInVwbG9hZHMvcUwvIl1dfQ=="
14
+ }
15
+ }
@@ -0,0 +1,19 @@
1
+ HTTP/1.1 200 OK
2
+ Status: 200
3
+ Content-Type: application/json; charset=utf-8
4
+
5
+ {
6
+ "href": "http://my.cl.ly/items/1912559",
7
+ "name": "CloudApp Logo.png",
8
+ "private": false,
9
+ "url": "http://cl.ly/2wr4",
10
+ "content_url": "http://cl.ly/2wr4/CloudApp_Logo.png",
11
+ "item_type": "image",
12
+ "view_counter": 42,
13
+ "icon": "http://my.cl.ly/images/item_types/image.png",
14
+ "remote_url": "http://f.cl.ly/items/7c7aea1395c3db0aee18/CloudApp%20Logo.png",
15
+ "redirect_url": null,
16
+ "created_at": "2010-10-23T19:50:13Z",
17
+ "updated_at": "2010-10-23T19:50:38Z",
18
+ "deleted_at": null
19
+ }
@@ -0,0 +1,19 @@
1
+ HTTP/1.1 200 OK
2
+ Status: 200
3
+ Content-Type: application/json; charset=utf-8
4
+
5
+ {
6
+ "href": "http://my.cl.ly/items/1912565",
7
+ "name": "CloudApp",
8
+ "private": false,
9
+ "url": "http://cl.ly/2wt6",
10
+ "content_url": "http://cl.ly/2wt6/content",
11
+ "item_type": "bookmark",
12
+ "view_counter": 0,
13
+ "icon": "http://my.cl.ly/images/item_types/bookmark.png",
14
+ "remote_url": null,
15
+ "redirect_url": "http://getcloudapp.com",
16
+ "created_at": "2010-10-23T21:15:21Z",
17
+ "updated_at": "2010-10-23T21:17:04Z",
18
+ "deleted_at": null
19
+ }
metadata CHANGED
@@ -1,43 +1,40 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudapp_api
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 27
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
+ - 1
8
9
  - 0
9
- - 3
10
- version: 0.0.3
10
+ version: 0.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Aaron Russell
14
- - Wade West
15
14
  autorequire:
16
15
  bindir: bin
17
16
  cert_chain: []
18
17
 
19
- date: 2010-11-13 00:00:00 +00:00
18
+ date: 2010-12-15 00:00:00 +00:00
20
19
  default_executable:
21
20
  dependencies:
22
21
  - !ruby/object:Gem::Dependency
23
- name: httparty
24
- prerelease: false
25
22
  requirement: &id001 !ruby/object:Gem::Requirement
26
23
  none: false
27
24
  requirements:
28
25
  - - ">="
29
26
  - !ruby/object:Gem::Version
30
- hash: 15
27
+ hash: 7
31
28
  segments:
32
29
  - 0
33
- - 5
34
- - 2
35
- version: 0.5.2
30
+ - 6
31
+ - 0
32
+ version: 0.6.0
36
33
  type: :runtime
34
+ name: httparty
35
+ prerelease: false
37
36
  version_requirements: *id001
38
37
  - !ruby/object:Gem::Dependency
39
- name: thoughtbot-shoulda
40
- prerelease: false
41
38
  requirement: &id002 !ruby/object:Gem::Requirement
42
39
  none: false
43
40
  requirements:
@@ -47,8 +44,178 @@ dependencies:
47
44
  segments:
48
45
  - 0
49
46
  version: "0"
50
- type: :development
47
+ type: :runtime
48
+ name: mime-types
49
+ prerelease: false
51
50
  version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ~>
56
+ - !ruby/object:Gem::Version
57
+ hash: 11
58
+ segments:
59
+ - 2
60
+ - 1
61
+ - 0
62
+ version: 2.1.0
63
+ type: :development
64
+ name: rspec
65
+ prerelease: false
66
+ version_requirements: *id003
67
+ - !ruby/object:Gem::Dependency
68
+ requirement: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ hash: 3
74
+ segments:
75
+ - 0
76
+ version: "0"
77
+ type: :development
78
+ name: fakeweb
79
+ prerelease: false
80
+ version_requirements: *id004
81
+ - !ruby/object:Gem::Dependency
82
+ requirement: &id005 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ hash: 7
88
+ segments:
89
+ - 0
90
+ - 6
91
+ - 0
92
+ version: 0.6.0
93
+ type: :development
94
+ name: yard
95
+ prerelease: false
96
+ version_requirements: *id005
97
+ - !ruby/object:Gem::Dependency
98
+ requirement: &id006 !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ hash: 3
104
+ segments:
105
+ - 0
106
+ version: "0"
107
+ type: :development
108
+ name: bluecloth
109
+ prerelease: false
110
+ version_requirements: *id006
111
+ - !ruby/object:Gem::Dependency
112
+ requirement: &id007 !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ hash: 3
118
+ segments:
119
+ - 0
120
+ version: "0"
121
+ type: :development
122
+ name: cucumber
123
+ prerelease: false
124
+ version_requirements: *id007
125
+ - !ruby/object:Gem::Dependency
126
+ requirement: &id008 !ruby/object:Gem::Requirement
127
+ none: false
128
+ requirements:
129
+ - - ~>
130
+ - !ruby/object:Gem::Version
131
+ hash: 23
132
+ segments:
133
+ - 1
134
+ - 0
135
+ - 0
136
+ version: 1.0.0
137
+ type: :development
138
+ name: bundler
139
+ prerelease: false
140
+ version_requirements: *id008
141
+ - !ruby/object:Gem::Dependency
142
+ requirement: &id009 !ruby/object:Gem::Requirement
143
+ none: false
144
+ requirements:
145
+ - - ~>
146
+ - !ruby/object:Gem::Version
147
+ hash: 1
148
+ segments:
149
+ - 1
150
+ - 5
151
+ - 1
152
+ version: 1.5.1
153
+ type: :development
154
+ name: jeweler
155
+ prerelease: false
156
+ version_requirements: *id009
157
+ - !ruby/object:Gem::Dependency
158
+ requirement: &id010 !ruby/object:Gem::Requirement
159
+ none: false
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ hash: 3
164
+ segments:
165
+ - 0
166
+ version: "0"
167
+ type: :development
168
+ name: rcov
169
+ prerelease: false
170
+ version_requirements: *id010
171
+ - !ruby/object:Gem::Dependency
172
+ requirement: &id011 !ruby/object:Gem::Requirement
173
+ none: false
174
+ requirements:
175
+ - - ">="
176
+ - !ruby/object:Gem::Version
177
+ hash: 7
178
+ segments:
179
+ - 0
180
+ - 6
181
+ - 0
182
+ version: 0.6.0
183
+ type: :runtime
184
+ name: httparty
185
+ prerelease: false
186
+ version_requirements: *id011
187
+ - !ruby/object:Gem::Dependency
188
+ requirement: &id012 !ruby/object:Gem::Requirement
189
+ none: false
190
+ requirements:
191
+ - - ~>
192
+ - !ruby/object:Gem::Version
193
+ hash: 11
194
+ segments:
195
+ - 2
196
+ - 1
197
+ - 0
198
+ version: 2.1.0
199
+ type: :development
200
+ name: rspec
201
+ prerelease: false
202
+ version_requirements: *id012
203
+ - !ruby/object:Gem::Dependency
204
+ requirement: &id013 !ruby/object:Gem::Requirement
205
+ none: false
206
+ requirements:
207
+ - - ~>
208
+ - !ruby/object:Gem::Version
209
+ hash: 7
210
+ segments:
211
+ - 0
212
+ - 6
213
+ - 0
214
+ version: 0.6.0
215
+ type: :development
216
+ name: yard
217
+ prerelease: false
218
+ version_requirements: *id013
52
219
  description: A simple Ruby wrapper for the CloudApp API. Uses HTTParty with a simple ActiveResource-like interface.
53
220
  email: aaron@gc4.co.uk
54
221
  executables: []
@@ -60,31 +227,42 @@ extra_rdoc_files:
60
227
  - README.md
61
228
  files:
62
229
  - .document
63
- - .gitignore
230
+ - Gemfile
231
+ - Gemfile.lock
64
232
  - LICENSE
65
233
  - README.md
66
234
  - Rakefile
67
235
  - VERSION
68
236
  - cloudapp_api.gemspec
237
+ - lib/cloudapp/account.rb
69
238
  - lib/cloudapp/base.rb
70
239
  - lib/cloudapp/client.rb
71
240
  - lib/cloudapp/httparty.rb
72
- - lib/cloudapp/monkey_patch/httparty.rb
73
- - lib/cloudapp/monkey_patch/net_digest_auth.rb
241
+ - lib/cloudapp/item.rb
74
242
  - lib/cloudapp/multipart.rb
75
243
  - lib/cloudapp_api.rb
76
- - test/helper.rb
77
- - test/helper/faking_setup.rb
78
- - test/helper/methods.rb
79
- - test/test_base.rb
80
- - test/test_cloudapp_api.rb
244
+ - spec/cloudapp_account_spec.rb
245
+ - spec/cloudapp_api_spec.rb
246
+ - spec/cloudapp_client_spec.rb
247
+ - spec/cloudapp_item_spec.rb
248
+ - spec/fakeweb_helper.rb
249
+ - spec/spec_helper.rb
250
+ - spec/stubs/account/create
251
+ - spec/stubs/account/show
252
+ - spec/stubs/account/update
253
+ - spec/stubs/item/create
254
+ - spec/stubs/item/delete
255
+ - spec/stubs/item/index
256
+ - spec/stubs/item/new
257
+ - spec/stubs/item/show
258
+ - spec/stubs/item/update
81
259
  has_rdoc: true
82
260
  homepage: http://github.com/aaronrussell/cloud_app
83
261
  licenses: []
84
262
 
85
263
  post_install_message:
86
- rdoc_options:
87
- - --charset=UTF-8
264
+ rdoc_options: []
265
+
88
266
  require_paths:
89
267
  - lib
90
268
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -113,8 +291,9 @@ signing_key:
113
291
  specification_version: 3
114
292
  summary: A simple Ruby wrapper for the CloudApp API. Uses HTTParty with a simple ActiveResource-like interface.
115
293
  test_files:
116
- - test/helper/faking_setup.rb
117
- - test/helper/methods.rb
118
- - test/helper.rb
119
- - test/test_base.rb
120
- - test/test_cloudapp_api.rb
294
+ - spec/cloudapp_account_spec.rb
295
+ - spec/cloudapp_api_spec.rb
296
+ - spec/cloudapp_client_spec.rb
297
+ - spec/cloudapp_item_spec.rb
298
+ - spec/fakeweb_helper.rb
299
+ - spec/spec_helper.rb