class Pandarus::V1
Public Instance Methods
resolve_path_courses(course_id, path, opts={})
click to toggle source
incomplete: added additional parameter path
# File lib/canvas/workflow/pandarus.rb, line 8 def resolve_path_courses(course_id, path, opts={}) query_param_keys = [ ] form_param_keys = [ ] # verify existence of params raise "course_id is required" if course_id.nil? raise "path is required" if path.nil? # set default values and merge with input options = underscored_merge_opts(opts, :course_id => course_id, :path => path ) # resource path path = path_replace("/v1/courses/{course_id}/folders/by_path/{path}/", :course_id => course_id, :path => path) headers = nil form_params = select_params(options, form_param_keys) query_params = select_query_params(options, query_param_keys) RemoteCollection.new(connection, Folder, path, query_params) end
upload_file(course_id, file, opts={})
click to toggle source
incomplete: added additional parameter file
# File lib/canvas/workflow/pandarus.rb, line 35 def upload_file(course_id, file, opts={}) query_param_keys = [ ] form_param_keys = [ :name, :size, :content_type, :parent_folder_id, :parent_folder_path, :on_duplicate ] # verify existence of params raise "course_id is required" if course_id.nil? raise "file is required" if file.nil? # set default values and merge with input options = underscored_merge_opts(opts, :course_id => course_id ) # resource path path = path_replace("/v1/courses/{course_id}/files", :course_id => course_id) headers = nil form_params = select_params(options, form_param_keys) query_params = select_query_params(options, query_param_keys) # initiate file upload response = mixed_request(:post, path, query_params, form_params, headers) # add file to form data response['upload_params']['file'] = ::File.new(file, "rb") # complete file upload using rest-client api and the response to the # original request RestClient.post(response['upload_url'], response['upload_params']) end
Protected Instance Methods
dot_flatten_recur(hash)
click to toggle source
incorrect: fixes instructure/pandarus#28
# File lib/canvas/workflow/pandarus.rb, line 76 def dot_flatten_recur(hash) hash.map do |k1, v1| if v1.is_a?(Hash) dot_flatten_recur(v1).map do |k2, v2| ["#{k1}.#{k2}", v2] end else [[k1, v1]] end end.flatten(1) end