cloudapp_api 0.0.3 → 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.
@@ -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