boxr 0.26.0 → 0.27.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 +4 -4
- data/lib/boxr/files.rb +13 -9
- data/lib/boxr/version.rb +1 -1
- data/spec/boxr_spec.rb +11 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 93e44fc598ab6789018d63eaf7277ab1cd616138
|
4
|
+
data.tar.gz: a7bf8e2e7e8043ec2c48c818e3a2e4396de14816
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a23f74f3d18e47d704bc08f0ec9fa5d59d6d0ef245bac16bad986759915f51f28a834e7b2e2e06ca76986971e4c6225567a7b7c8ea05ff39eb2d9ace82e41585
|
7
|
+
data.tar.gz: 9356cbc841b364d9451652d9c609b6b2b428ab9c8da8f31aed3a6a3d3e17505129f1d8c15e96e999c131629a3077b80f6bf4f2d1263a8335c88d0333a0905748
|
data/lib/boxr/files.rb
CHANGED
@@ -93,22 +93,27 @@ module Boxr
|
|
93
93
|
download_file(file, version: version, follow_redirect: false)
|
94
94
|
end
|
95
95
|
|
96
|
-
def upload_file(path_to_file, parent, content_created_at: nil, content_modified_at: nil,
|
96
|
+
def upload_file(path_to_file, parent, name: nil, content_created_at: nil, content_modified_at: nil,
|
97
97
|
preflight_check: true, send_content_md5: true)
|
98
98
|
|
99
99
|
parent_id = ensure_id(parent)
|
100
|
-
|
100
|
+
|
101
|
+
filename = name ? name : File.basename(path_to_file)
|
102
|
+
preflight_check(path_to_file, filename, parent_id) if preflight_check
|
101
103
|
|
102
104
|
file_info = nil
|
103
105
|
response = nil
|
104
106
|
|
105
107
|
File.open(path_to_file) do |file|
|
106
108
|
content_md5 = send_content_md5 ? Digest::SHA1.file(file).hexdigest : nil
|
107
|
-
|
108
|
-
attributes = {
|
109
|
+
|
110
|
+
attributes = {name: filename, parent: {id: parent_id}}
|
109
111
|
attributes[:content_created_at] = content_created_at.to_datetime.rfc3339 unless content_created_at.nil?
|
110
112
|
attributes[:content_modified_at] = content_modified_at.to_datetime.rfc3339 unless content_modified_at.nil?
|
111
|
-
|
113
|
+
|
114
|
+
body = {attributes: Oj.dump(attributes), file: file}
|
115
|
+
|
116
|
+
file_info, response = post(FILES_UPLOAD_URI, body, process_body: false, content_md5: content_md5)
|
112
117
|
end
|
113
118
|
|
114
119
|
file_info["entries"][0]
|
@@ -237,18 +242,17 @@ module Boxr
|
|
237
242
|
|
238
243
|
private
|
239
244
|
|
240
|
-
def preflight_check(path_to_file, parent_id)
|
245
|
+
def preflight_check(path_to_file, filename, parent_id)
|
241
246
|
size = File.size(path_to_file)
|
242
247
|
|
243
248
|
#TODO: need to make sure that figuring out the filename from the path_to_file works for people using Windows
|
244
|
-
|
245
|
-
attributes = {"name" => filename, "parent" => {"id" => "#{parent_id}"}, "size" => size}
|
249
|
+
attributes = {name: filename, parent: {id: "#{parent_id}"}, size: size}
|
246
250
|
body_json, res = options("#{FILES_URI}/content", attributes)
|
247
251
|
end
|
248
252
|
|
249
253
|
def preflight_check_new_version_of_file(path_to_file, file_id)
|
250
254
|
size = File.size(path_to_file)
|
251
|
-
attributes = {
|
255
|
+
attributes = {size: size}
|
252
256
|
body_json, res = options("#{FILES_URI}/#{file_id}/content", attributes)
|
253
257
|
end
|
254
258
|
|
data/lib/boxr/version.rb
CHANGED
data/spec/boxr_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Boxr::Client do
|
4
4
|
|
5
|
-
#PLEASE NOTE
|
5
|
+
#PLEASE NOTE
|
6
6
|
#This test is intentionally NOT a series of unit tests. The goal is to smoke test the entire code base
|
7
7
|
#against an actual Box account, making real calls to the Box API. The Box API is subject to frequent
|
8
8
|
#changes and it is not sufficient to mock responses as those responses will change over time. Successfully
|
@@ -16,7 +16,7 @@ describe Boxr::Client do
|
|
16
16
|
#follow the directions in .env.example to set up your BOX_DEVELOPER_TOKEN
|
17
17
|
#keep in mind it is only valid for 60 minutes
|
18
18
|
BOX_CLIENT = Boxr::Client.new #using ENV['BOX_DEVELOPER_TOKEN']
|
19
|
-
|
19
|
+
|
20
20
|
#uncomment this line to see the HTTP request and response debug info in the rspec output
|
21
21
|
#Boxr::turn_on_debugging
|
22
22
|
|
@@ -25,6 +25,7 @@ describe Boxr::Client do
|
|
25
25
|
SUB_FOLDER_NAME = 'sub_folder_1'
|
26
26
|
SUB_FOLDER_DESCRIPTION = 'This was created by the Boxr test suite'
|
27
27
|
TEST_FILE_NAME = 'test file.txt'
|
28
|
+
TEST_FILE_NAME_CUSTOM = 'test file custom.txt'
|
28
29
|
DOWNLOADED_TEST_FILE_NAME = 'downloaded test file.txt'
|
29
30
|
COMMENT_MESSAGE = 'this is a comment'
|
30
31
|
REPLY_MESSAGE = 'this is a comment reply'
|
@@ -134,6 +135,10 @@ describe Boxr::Client do
|
|
134
135
|
expect(new_file.name).to eq(TEST_FILE_NAME)
|
135
136
|
test_file = new_file
|
136
137
|
|
138
|
+
puts "upload a file with custom name"
|
139
|
+
new_file = BOX_CLIENT.upload_file("./spec/test_files/#{TEST_FILE_NAME}", @test_folder, name: TEST_FILE_NAME_CUSTOM)
|
140
|
+
expect(new_file.name).to eq(TEST_FILE_NAME_CUSTOM)
|
141
|
+
|
137
142
|
puts "get file using path"
|
138
143
|
file = BOX_CLIENT.file_from_path("/#{TEST_FOLDER_NAME}/#{TEST_FILE_NAME}")
|
139
144
|
expect(file.id).to eq(test_file.id)
|
@@ -236,7 +241,7 @@ describe Boxr::Client do
|
|
236
241
|
end
|
237
242
|
|
238
243
|
#rake spec SPEC_OPTS="-e \"invokes user operations"\"
|
239
|
-
it "invokes user operations" do
|
244
|
+
it "invokes user operations" do
|
240
245
|
puts "inspect current user"
|
241
246
|
user = BOX_CLIENT.current_user
|
242
247
|
expect(user.status).to eq('active')
|
@@ -253,7 +258,7 @@ describe Boxr::Client do
|
|
253
258
|
expect(test_user).to_not be_nil
|
254
259
|
|
255
260
|
#create user is tested in the before method
|
256
|
-
|
261
|
+
|
257
262
|
puts "update user"
|
258
263
|
new_name = "Chuck Nevitt"
|
259
264
|
user = BOX_CLIENT.update_user(@test_user, name: new_name)
|
@@ -340,7 +345,7 @@ describe Boxr::Client do
|
|
340
345
|
end
|
341
346
|
|
342
347
|
#rake spec SPEC_OPTS="-e \"invokes comment operations"\"
|
343
|
-
it "invokes comment operations" do
|
348
|
+
it "invokes comment operations" do
|
344
349
|
new_file = BOX_CLIENT.upload_file("./spec/test_files/#{TEST_FILE_NAME}", @test_folder)
|
345
350
|
test_file = new_file
|
346
351
|
|
@@ -492,4 +497,4 @@ describe Boxr::Client do
|
|
492
497
|
expect(results).to eq([])
|
493
498
|
end
|
494
499
|
|
495
|
-
end
|
500
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: boxr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.27.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chad Burnette
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|