ruby-box 1.4.0 → 1.5.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.
- checksums.yaml +8 -8
- data/README.markdown +22 -3
- data/VERSION +1 -1
- data/lib/ruby-box/exceptions.rb +1 -0
- data/lib/ruby-box/folder.rb +9 -0
- data/lib/ruby-box/item.rb +28 -0
- data/ruby-box.gemspec +2 -2
- data/spec/integration_spec.rb +29 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
Nzk0MzA1ZmJjZTkyODM4ZjQ0YjcxNTM5ZWQ0MTIyYjFjYTRkN2UxMw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MTE2NjQ3MTZmN2M2NGM4ZGU0ZWY1YWVjZTBjMzljZDdhZWFhZWE3MQ==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YTAxYTFiMjI2YjNiNDU3ZGIwMjQzNjkzMDI5MjRkMWMxZmE0MDgyOTBhY2Qz
|
10
|
+
ZDgwODQ1Njc2ZGNlNzM1YzcyNWI3ZDExMTVjZmFmMTdlZmI4YTZmZmE0NmJh
|
11
|
+
MmEyMGQ3ZmZlYjhkZGYyYjJmNDZhNzZjYzJkZDE2MDVhNjk1OWE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
M2Y3OTAxMjQ5Zjc1NmJjM2Y1MDkyNTQyNmVmMzkwZjQyNzU5YWJkMDdlYjRl
|
14
|
+
NmU3ZGMwMDAyOTBkOTAyN2U4NzhhN2EyZGJlNTkyNTI5OGFmOTQ0MzViYWMw
|
15
|
+
Yjg2M2RjNzdlYTYyOGFhNGJjYTc5MGU0M2JlN2Y2OTc1YTU0NGQ=
|
data/README.markdown
CHANGED
@@ -31,7 +31,14 @@ p '@token.token' # the access token.
|
|
31
31
|
p '@token.refresh_token' # token that can be exchanged for a new access_token once the access_token expires.
|
32
32
|
|
33
33
|
# refreshing token.
|
34
|
-
|
34
|
+
|
35
|
+
session = RubyBox::Session.new({
|
36
|
+
client_id: 'your-client-id',
|
37
|
+
client_secret: 'your-client-secret',
|
38
|
+
access_token: 'original-access-token'
|
39
|
+
})
|
40
|
+
|
41
|
+
@token = session.refresh_token('your-refresh-token')
|
35
42
|
```
|
36
43
|
|
37
44
|
__3)__ Create a client using a session initialized with the _access\_token_.
|
@@ -86,6 +93,13 @@ discussion = folder.discussions.first
|
|
86
93
|
discussion.comments.each {|comment| p comment.message}
|
87
94
|
```
|
88
95
|
|
96
|
+
* Creating a shared link for a folder.
|
97
|
+
|
98
|
+
```ruby
|
99
|
+
folder = client.folder('image_folder').create_shared_link
|
100
|
+
p folder.shared_link['url'] # https://www.box.com/s/d6de3224958c1755412
|
101
|
+
```
|
102
|
+
|
89
103
|
Files
|
90
104
|
-----
|
91
105
|
|
@@ -126,6 +140,13 @@ comments.each do |comment|
|
|
126
140
|
end
|
127
141
|
```
|
128
142
|
|
143
|
+
* Creating a shared link for a file.
|
144
|
+
|
145
|
+
```ruby
|
146
|
+
file = client.file('/image_folder/an-image.jpg').create_shared_link
|
147
|
+
p file.shared_link['url'] # https://www.box.com/s/d6de3224958c1755412
|
148
|
+
```
|
149
|
+
|
129
150
|
Search
|
130
151
|
------
|
131
152
|
|
@@ -152,8 +173,6 @@ eresp.events.each do |ev|
|
|
152
173
|
end
|
153
174
|
```
|
154
175
|
|
155
|
-
|
156
|
-
|
157
176
|
Contributors
|
158
177
|
============
|
159
178
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.5.0
|
data/lib/ruby-box/exceptions.rb
CHANGED
data/lib/ruby-box/folder.rb
CHANGED
@@ -51,6 +51,15 @@ module RubyBox
|
|
51
51
|
collaboration.create
|
52
52
|
end
|
53
53
|
|
54
|
+
def create_subfolder(name)
|
55
|
+
url = "#{RubyBox::API_URL}/#{resource_name}"
|
56
|
+
uri = URI.parse(url)
|
57
|
+
request = Net::HTTP::Post.new( uri.request_uri )
|
58
|
+
request.body = JSON.dump({ "name" => name, "parent" => {"id" => id} })
|
59
|
+
resp = @session.request(uri, request)
|
60
|
+
RubyBox::Folder.new(@session, resp)
|
61
|
+
end
|
62
|
+
|
54
63
|
private
|
55
64
|
|
56
65
|
def resource_name
|
data/lib/ruby-box/item.rb
CHANGED
@@ -82,6 +82,34 @@ module RubyBox
|
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
85
|
+
# see http://developers.box.com/docs/#folders-create-a-shared-link-for-a-folder
|
86
|
+
# for a list of valid options.
|
87
|
+
def create_shared_link(opts={})
|
88
|
+
raise UnshareableResource unless ['folder', 'file'].include?(type)
|
89
|
+
|
90
|
+
opts = {
|
91
|
+
access: 'open'
|
92
|
+
}.merge(opts) if opts
|
93
|
+
|
94
|
+
url = "#{RubyBox::API_URL}/#{resource_name}/#{id}"
|
95
|
+
uri = URI.parse(url)
|
96
|
+
|
97
|
+
request = Net::HTTP::Put.new(uri.path, {
|
98
|
+
"Content-Type" => 'application/json'
|
99
|
+
})
|
100
|
+
|
101
|
+
request.body = JSON.dump({
|
102
|
+
shared_link: opts
|
103
|
+
})
|
104
|
+
|
105
|
+
@raw_item = @session.request(uri, request)
|
106
|
+
self
|
107
|
+
end
|
108
|
+
|
109
|
+
def disable_shared_link(opts={})
|
110
|
+
create_shared_link(nil)
|
111
|
+
end
|
112
|
+
|
85
113
|
protected
|
86
114
|
|
87
115
|
def self.factory(session, entry)
|
data/ruby-box.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "ruby-box"
|
8
|
-
s.version = "1.
|
8
|
+
s.version = "1.5.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Attachments.me"]
|
12
|
-
s.date = "2013-
|
12
|
+
s.date = "2013-07-01"
|
13
13
|
s.description = "ruby gem for box.com 2.0 api"
|
14
14
|
s.email = "ben@attachments.me"
|
15
15
|
s.extra_rdoc_files = [
|
data/spec/integration_spec.rb
CHANGED
@@ -198,5 +198,34 @@ describe RubyBox, :skip => true do
|
|
198
198
|
folder.delete if folder
|
199
199
|
end
|
200
200
|
end
|
201
|
+
|
202
|
+
describe '#shared_link' do
|
203
|
+
it 'should allow a share link to be created for a folder' do
|
204
|
+
folder = @client.create_folder('/ruby-box_gem_testing/shared_folder').create_shared_link
|
205
|
+
|
206
|
+
# share link was successfully created.
|
207
|
+
folder.shared_link['url'].should match /https?:\/\/[\S]+/
|
208
|
+
|
209
|
+
# share link can be disabled.
|
210
|
+
folder.disable_shared_link
|
211
|
+
folder.shared_link.should == nil
|
212
|
+
|
213
|
+
folder.delete if folder
|
214
|
+
end
|
215
|
+
|
216
|
+
it 'should allow a share link to be created for a file' do
|
217
|
+
utf8_file_name = '遠志教授.jpg'
|
218
|
+
file = @client.upload_file('spec/fixtures/' + utf8_file_name, '/ruby-box_gem_testing/cool stuff/').create_shared_link
|
219
|
+
|
220
|
+
# share link was successfully created.
|
221
|
+
file.shared_link['url'].should match /https?:\/\/[\S]+/
|
222
|
+
|
223
|
+
# share link can be disabled.
|
224
|
+
file.disable_shared_link
|
225
|
+
file.shared_link.should == nil
|
226
|
+
|
227
|
+
file.delete
|
228
|
+
end
|
229
|
+
end
|
201
230
|
end
|
202
231
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-box
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Attachments.me
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-07-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multipart-post
|