Class: SlingFile::FileManager
- Inherits:
-
Object
- Object
- SlingFile::FileManager
- Defined in:
- lib/nakamura/file.rb
Instance Method Summary collapse
- #createlink(url, linkUid, siteUuid) ⇒ Object
- #createTag(tagName, url, props = {}) ⇒ Object
-
#get_members(id) ⇒ Object
Members.
-
#initialize(sling) ⇒ FileManager
constructor
A new instance of FileManager.
- #manage_members(id, add_viewers, delete_viewers, add_managers, delete_managers) ⇒ Object
- #myfiles(search) ⇒ Object
-
#search_my_managed(q) ⇒ Object
Search templates.
- #search_my_viewed(q) ⇒ Object
- #tag(url, tagUuid) ⇒ Object
- #upload_pooled_file(name, data, content_type, toid = nil) ⇒ Object
- #url_for_pooled_file(id) ⇒ Object
Constructor Details
#initialize(sling) ⇒ FileManager
Returns a new instance of FileManager.
9 10 11 |
# File 'lib/nakamura/file.rb', line 9 def initialize(sling) @sling = sling end |
Instance Method Details
#createlink(url, linkUid, siteUuid) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/nakamura/file.rb', line 13 def createlink(url, linkUid, siteUuid) props = { ":operation" => "link", "link" => linkUid } if (siteUuid != nil) props.update("site" => siteUuid) end return @sling.execute_post(@sling.url_for(url), props) end |
#createTag(tagName, url, props = {}) ⇒ Object
24 25 26 27 28 |
# File 'lib/nakamura/file.rb', line 24 def createTag(tagName, url, props = {}) props.update("sling:resourceType" => "sakai/tag") props.update("sakai:tag-name" => tagName) return @sling.execute_post(@sling.url_for(url), props) end |
#get_members(id) ⇒ Object
Members
55 56 57 58 |
# File 'lib/nakamura/file.rb', line 55 def get_members(id) path = "#{url_for_pooled_file(id)}.members.json" return @sling.execute_get(path) end |
#manage_members(id, add_viewers, delete_viewers, add_managers, delete_managers) ⇒ Object
60 61 62 63 64 65 66 67 68 |
# File 'lib/nakamura/file.rb', line 60 def manage_members(id, add_viewers, delete_viewers, add_managers, delete_managers) path = "#{url_for_pooled_file(id)}.members.html" params = {} params[":viewer"] ||= add_viewers params[":viewer@Delete"] ||= delete_viewers params[":manager"] ||= add_managers params[":manager@Delete"] ||= delete_managers return @sling.execute_post(path, params) end |
#myfiles(search) ⇒ Object
38 39 40 |
# File 'lib/nakamura/file.rb', line 38 def myfiles(search) return @sling.execute_get(@sling.url_for("/var/search/files/myfiles.json?q=#{search}")) end |
#search_my_managed(q) ⇒ Object
Search templates
72 73 74 |
# File 'lib/nakamura/file.rb', line 72 def search_my_managed(q) return @sling.execute_get(@sling.url_for("/var/search/pool/me/manager.json?q=#{q}")) end |
#search_my_viewed(q) ⇒ Object
76 77 78 |
# File 'lib/nakamura/file.rb', line 76 def search_my_viewed(q) return @sling.execute_get(@sling.url_for("/var/search/pool/me/viewer.json?q=#{q}")) end |
#tag(url, tagUuid) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/nakamura/file.rb', line 30 def tag(url, tagUuid) props = { ":operation" => "tag", "key" => tagUuid } return @sling.execute_post(@sling.url_for(url), props) end |
#upload_pooled_file(name, data, content_type, toid = nil) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/nakamura/file.rb', line 42 def upload_pooled_file(name, data, content_type, toid=nil) if ( toid == nil ) return @sling.execute_file_post(@sling.url_for("/system/pool/createfile"), name, name, data, content_type) else return @sling.execute_file_post(@sling.url_for("/system/pool/createfile.#{toid}"), name, name, data, content_type) end end |
#url_for_pooled_file(id) ⇒ Object
50 51 52 |
# File 'lib/nakamura/file.rb', line 50 def url_for_pooled_file(id) return @sling.url_for("/p/#{id}") end |