Sha256: 53b9b65e07aad5138cc2547790dc232f932c4a8eb116a61fe9f9724f554b7e79

Contents?: true

Size: 738 Bytes

Versions: 1

Compression:

Stored size: 738 Bytes

Contents

module DropboxApi::Metadata
  # Example of a serialized {MediaInfo} object:
  #   {
  #     ".tag": "metadata",
  #     "metadata": {...}
  #   }
  # or:
  #   {
  #     ".tag": "pending"
  #   }
  class MediaInfo < Base
    class << self
      def new(data)
        klass = class_for(data['.tag'].to_sym)

        if klass == :pending
          :pending
        else
          klass.new(data['metadata'])
        end
      end

      private

      def class_for(tag)
        case tag
        when :pending
          :pending
        when :metadata
          DropboxApi::Metadata::MediaMetadata
        else
          raise ArgumentError, "Unable to build individual result with `#{tag.inspect}`"
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dropbox_api-0.1.10 lib/dropbox_api/metadata/media_info.rb