quickbase_client 1.0.21 → 1.0.22
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.
- data/CHANGES +4 -0
- data/README.rdoc +3 -1
- data/lib/QuickBaseClient.rb +35 -0
- data/lib/QuickBaseMisc.rb +15 -2
- metadata +2 -2
data/CHANGES
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
== Change History
|
2
2
|
|
3
|
+
1.0.22 - 11/17/2012 - Added downloadAndSaveFile, uploadFileContents.
|
4
|
+
|
5
|
+
1.0.21 - 05/28/2012 - Changed gem homepage to github.
|
6
|
+
|
3
7
|
1.0.20 - 11/18/2011 - Added optional dfid param to getRecordAsHTML.
|
4
8
|
|
5
9
|
1.0.19 - 11/13/2011 - Accommodate Net::HTTP changes in Ruby 1.9.3.
|
data/README.rdoc
CHANGED
@@ -28,6 +28,8 @@ More information about the QuickBase Client is available here -
|
|
28
28
|
|
29
29
|
== Change History
|
30
30
|
|
31
|
+
1.0.22 - 11/17/2012 - Added downloadAndSaveFile, uploadFileContents.
|
32
|
+
|
31
33
|
1.0.21 - 05/28/2012 - Changed gem homepage to github.
|
32
34
|
|
33
35
|
1.0.20 - 11/18/2011 - Added optional dfid param to getRecordAsHTML.
|
@@ -55,7 +57,7 @@ See CHANGES file for earlier updates.
|
|
55
57
|
|
56
58
|
== Questions?
|
57
59
|
|
58
|
-
Please submit questions, feedback, suggestions on Intuit's Community Forum at
|
60
|
+
Please submit questions, feedback, suggestions on Intuit's Community Forum at https://quickbase-community-e2e.intuit.com .
|
59
61
|
|
60
62
|
== License
|
61
63
|
|
data/lib/QuickBaseClient.rb
CHANGED
@@ -2196,6 +2196,24 @@ class Client
|
|
2196
2196
|
alias downloadFile downLoadFile
|
2197
2197
|
alias _downloadFile _downLoadFile
|
2198
2198
|
|
2199
|
+
# Download and save a file from a file attachment field in QuickBase.
|
2200
|
+
# Use the filename parameter to override the file name from QuickBase.
|
2201
|
+
def downloadAndSaveFile( dbid, rid, fid, filename = nil, vid = "0" )
|
2202
|
+
response, fileContents = downLoadFile( dbid, rid, fid, vid )
|
2203
|
+
if fileContents and fileContents.length > 0
|
2204
|
+
if filename and filename.length > 0
|
2205
|
+
Misc.save_file( filename, fileContents )
|
2206
|
+
else
|
2207
|
+
record = getRecord( rid, dbid, [fid] )
|
2208
|
+
if record and record[fid] and record[fid].length > 0
|
2209
|
+
Misc.save_file( record[fid], fileContents )
|
2210
|
+
else
|
2211
|
+
Misc.save_file( "#{dbid}_#{rid}_#{fid}", fileContents )
|
2212
|
+
end
|
2213
|
+
end
|
2214
|
+
end
|
2215
|
+
end
|
2216
|
+
|
2199
2217
|
# API_EditRecord
|
2200
2218
|
def editRecord( dbid, rid, fvlist, disprec = nil, fform = nil, ignoreError = nil, update_id = nil, msInUTC =nil, key = nil )
|
2201
2219
|
|
@@ -4535,6 +4553,23 @@ class Client
|
|
4535
4553
|
nil
|
4536
4554
|
end
|
4537
4555
|
|
4556
|
+
# Add a File Attachment into a new record in a table, using a string containing the file contents.
|
4557
|
+
# Additional field values can optionally be set.
|
4558
|
+
# e.g. uploadFile( "dhnju5y7", "contacts.txt", "fred: 1-222-333-4444", "Contacts File", { "Notes" => "#{Time.now}" }
|
4559
|
+
def uploadFileContents( dbid, filename, fileContents, fileAttachmentFieldName, additionalFieldsToSet = nil )
|
4560
|
+
if dbid and filename and fileAttachmentFieldName
|
4561
|
+
clearFieldValuePairList
|
4562
|
+
addFieldValuePair( fileAttachmentFieldName, nil, filename, fileContents )
|
4563
|
+
if additionalFieldsToSet and additionalFieldsToSet.is_a?( Hash )
|
4564
|
+
additionalFieldsToSet.each{ |fieldName,fieldValue|
|
4565
|
+
addFieldValuePair( fieldName, nil, nil, fieldValue )
|
4566
|
+
}
|
4567
|
+
end
|
4568
|
+
return addRecord( dbid, @fvlist )
|
4569
|
+
end
|
4570
|
+
nil
|
4571
|
+
end
|
4572
|
+
|
4538
4573
|
# Upload a file into a new record in the active table.
|
4539
4574
|
# e.g. uploadFile( "contacts.txt", "Contacts File" )
|
4540
4575
|
def _uploadFile( filename, fileAttachmentFieldName )
|
data/lib/QuickBaseMisc.rb
CHANGED
@@ -94,11 +94,24 @@ module QuickBase
|
|
94
94
|
|
95
95
|
def Misc.listUserToArray(listUser)
|
96
96
|
listUser.split(/;/)
|
97
|
-
end
|
97
|
+
end
|
98
98
|
|
99
99
|
def Misc.arrayToListUser(array)
|
100
100
|
array.join(";")
|
101
|
-
end
|
101
|
+
end
|
102
|
+
|
103
|
+
def Misc.save_file(filename, contents, mode="wb")
|
104
|
+
File.open(filename, mode){|f|
|
105
|
+
f.write(contents)
|
106
|
+
f.flush
|
107
|
+
}
|
108
|
+
rescue StandardError => error
|
109
|
+
new_filename = filename.gsub(/\W/,"_")
|
110
|
+
File.open(new_filename, mode){|f|
|
111
|
+
f.write(contents)
|
112
|
+
f.flush
|
113
|
+
}
|
114
|
+
end
|
102
115
|
|
103
116
|
end
|
104
117
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quickbase_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.22
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-17 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Wraps the QuickBase HTTP API and adds classes and methods to minimize
|
15
15
|
the amount of code needed to get useful things done.
|