module Pcloud::Folder::Parser::ClassMethods
Public Instance Methods
parse_one(response)
click to toggle source
# File lib/pcloud/folder/parser.rb, line 10 def parse_one(response) Pcloud::Folder.new( id: response.dig("metadata", "folderid"), path: response.dig("metadata", "path"), name: response.dig("metadata", "name"), parent_folder_id: response.dig("metadata", "parentfolderid"), is_deleted: response.dig("metadata", "isdeleted"), created_at: response.dig("metadata", "created"), modified_at: response.dig("metadata", "modified"), contents: (response.dig("metadata", "contents") || []).map do |content_item| if content_item["isfolder"] Pcloud::Folder.new( id: content_item["folderid"], path: content_item["path"], # no path comes back from this api name: content_item["name"], parent_folder_id: content_item["parentfolderid"], contents: content_item["contents"], # no content comes back from this api is_deleted: content_item["isdeleted"], created_at: content_item["created"], modified_at: content_item["modified"] ) else Pcloud::File.new( id: content_item["fileid"], path: content_item["path"], name: content_item["name"], content_type: content_item["contenttype"], category_id: content_item["category"], size: content_item["size"], parent_folder_id: content_item["parentfolderid"], is_deleted: content_item["isdeleted"], created_at: content_item["created"], modified_at: content_item["modified"] ) end end ) end