class DropboxApi::Metadata::SharedLinkMetadata

This class is used as an adapter so we can create an object of the pertinent class when we need to infer the type from the data.

This same pattern is used in `DropboxApi::Metadata::Resource`

Public Class Methods

new(data) click to toggle source
# File lib/dropbox_api/metadata/shared_link_metadata.rb, line 9
def new(data)
  class_for(data['.tag'].to_sym).new(data)
end

Private Class Methods

class_for(tag) click to toggle source
# File lib/dropbox_api/metadata/shared_link_metadata.rb, line 15
def class_for(tag)
  case tag
  when :file
    DropboxApi::Metadata::FileLinkMetadata
  when :folder
    DropboxApi::Metadata::FolderLinkMetadata
  else
    raise ArgumentError, "Unable to infer resource type for `#{tag}`"
  end
end