Sha256: 37cead3426b8dbee867dfc63a210603dad2904d339e07fa7818dceb3e0981ad9

Contents?: true

Size: 1.93 KB

Versions: 3

Compression:

Stored size: 1.93 KB

Contents

module Vzaar
  class Api < Struct.new(:conn)

    def whoami(opts={})
      resource = Request::WhoAmI.new(conn, opts).execute
      resource.login
    end

    def account_type(account_type_id, opts={})
      _opts = opts.merge(account_type_id: account_type_id)
      Request::AccountType.new(conn, _opts).execute
    end

    def user_details(login, opts={})
      Request::UserDetails.new(conn, opts.merge(login: login)).execute
    end

    def video_details(video_id, opts={})
      Request::VideoDetails.new(conn, opts.merge(video_id: video_id)).execute
    end

    def video_list(login, opts={})
      Request::VideoList.new(conn, opts.merge(login: login)).execute
    end

    def videos(opts={})
      video_list(conn.login, { authenticated: true, page: opts[:page] })
    end

    def delete_video(video_id, opts={})
      Request::DeleteVideo.new(conn, opts.merge(video_id: video_id)).execute
    end

    def edit_video(video_id, opts={})
      Request::EditVideo.new(conn, opts.merge(video_id: video_id)).execute
    end

    def signature(opts={})
      Request::Signature.new(conn, opts).execute
    end

    def process_video(opts={})
      Request::ProcessVideo.new(conn, opts).execute
    end

    def upload_video(opts={})
      uploader = Uploader.new(conn, signature, opts)
      uploader.upload do |u|
        process_video(u.processing_params)
      end
    end

    def add_subtitle(video_id, opts={})
      Request::AddSubtitle.new(conn, opts.merge(video_id: video_id)).execute
    end

    def upload_thumbnail(video_id, opts={})
      Request::UploadThumbnail.new(conn, opts.merge(video_id: video_id)).execute
    end

    def generate_thumbnail(video_id, opts={})
      Request::GenerateThumbnail.new(conn, opts.merge(video_id: video_id)).execute
    end

    def link_upload(url, opts={})
      sig = signature
      _opts = opts.merge({ guid: sig.guid, key: sig.key, url: url })
      Request::LinkUpload.new(conn, _opts).execute
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
vzaar-1.2.4 lib/vzaar/api.rb
vzaar-1.2.3 lib/vzaar/api.rb
vzaar-1.2.2 lib/vzaar/api.rb