Sha256: ccb42c358f2d4cc6e648411e5e2964ed715c2bc194574ce7c8ec443f2457506e

Contents?: true

Size: 664 Bytes

Versions: 8

Compression:

Stored size: 664 Bytes

Contents

module DropboxApi::Metadata
  # Example of a serialized FileMemberAction:
  #   {
  #     ".tag": "success",
  #     "success": {
  #       ".tag": "viewer"
  #     }
  #   }
  class FileMemberAction < Base
    class << self
      def new(data)
        tag = data[".tag"]
        class_for(tag.to_sym).new(data[tag])
      end

      private

      def class_for(tag)
        case tag
        when :success
          DropboxApi::Metadata::AccessLevel
        when :member_error
          DropboxApi::Errors::FileMemberActionError
        else
          raise ArgumentError, "Unable to build individual result with `#{tag}`"
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dropbox_api-0.1.10 lib/dropbox_api/metadata/file_member_action.rb
dropbox_api-0.1.9 lib/dropbox_api/metadata/file_member_action.rb
dropbox_api-0.1.8 lib/dropbox_api/metadata/file_member_action.rb
dropbox_api-0.1.7 lib/dropbox_api/metadata/file_member_action.rb
dropbox_api-0.1.6 lib/dropbox_api/metadata/file_member_action.rb
dropbox_api-0.1.5 lib/dropbox_api/metadata/file_member_action.rb
dropbox_api-0.1.4 lib/dropbox_api/metadata/file_member_action.rb
dropbox_api-0.1.3 lib/dropbox_api/metadata/file_member_action.rb