vzaar 0.2.3 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.gitignore +24 -0
- data/.rspec +2 -0
- data/.ruby-version +1 -0
- data/.rvmrc +1 -0
- data/.travis.yml +3 -0
- data/Gemfile +19 -0
- data/Guardfile +9 -0
- data/LICENSE +20 -0
- data/LICENSE.txt +22 -0
- data/README.md +112 -0
- data/Rakefile +8 -0
- data/lib/vzaar.rb +61 -53
- data/lib/vzaar/api.rb +63 -0
- data/lib/vzaar/connection.rb +76 -0
- data/lib/vzaar/ext/oauth.rb +18 -0
- data/lib/vzaar/request/account_type.rb +12 -0
- data/lib/vzaar/request/base.rb +81 -0
- data/lib/vzaar/request/delete_video.rb +9 -0
- data/lib/vzaar/request/edit_video.rb +21 -0
- data/lib/vzaar/request/link_upload.rb +33 -0
- data/lib/vzaar/request/multipart.rb +42 -0
- data/lib/vzaar/request/process_video.rb +81 -0
- data/lib/vzaar/request/signature.rb +26 -0
- data/lib/vzaar/request/upload_status.rb +12 -0
- data/lib/vzaar/request/upload_thumbnail.rb +14 -0
- data/lib/vzaar/request/url.rb +24 -0
- data/lib/vzaar/request/user_details.rb +12 -0
- data/lib/vzaar/request/video.rb +12 -0
- data/lib/vzaar/request/video_details.rb +7 -0
- data/lib/vzaar/request/video_list.rb +16 -0
- data/lib/vzaar/request/who_am_i.rb +13 -0
- data/lib/vzaar/resources/account_type.rb +16 -0
- data/lib/vzaar/resources/base.rb +87 -0
- data/lib/vzaar/resources/link_upload.rb +8 -0
- data/lib/vzaar/resources/processed_video.rb +8 -0
- data/lib/vzaar/resources/signature.rb +21 -0
- data/lib/vzaar/resources/upload_thumbnail.rb +8 -0
- data/lib/vzaar/resources/user.rb +26 -0
- data/lib/vzaar/resources/video.rb +39 -0
- data/lib/vzaar/resources/video_collection.rb +16 -0
- data/lib/vzaar/resources/video_collection_item.rb +25 -0
- data/lib/vzaar/resources/video_details.rb +13 -0
- data/lib/vzaar/resources/video_status.rb +12 -0
- data/lib/vzaar/resources/who_am_i.rb +8 -0
- data/lib/vzaar/response/base.rb +40 -0
- data/lib/vzaar/signature_extractor.rb +41 -0
- data/lib/vzaar/uploader.rb +43 -0
- data/lib/vzaar/uploaders/s3.rb +32 -0
- data/lib/vzaar/version.rb +3 -0
- data/spec/fixtures/vcr_cassettes/account_type-fail.yml +44 -0
- data/spec/fixtures/vcr_cassettes/account_type-success.yml +49 -0
- data/spec/fixtures/vcr_cassettes/delete_video-fail.yml +47 -0
- data/spec/fixtures/vcr_cassettes/delete_video-not-found.yml +125 -0
- data/spec/fixtures/vcr_cassettes/delete_video-retry-success.yml +125 -0
- data/spec/fixtures/vcr_cassettes/delete_video-success.yml +59 -0
- data/spec/fixtures/vcr_cassettes/edit_video-fail.yml +53 -0
- data/spec/fixtures/vcr_cassettes/edit_video-not-found.yml +131 -0
- data/spec/fixtures/vcr_cassettes/edit_video-success.yml +68 -0
- data/spec/fixtures/vcr_cassettes/process_video-default.yml +55 -0
- data/spec/fixtures/vcr_cassettes/signature-default.yml +54 -0
- data/spec/fixtures/vcr_cassettes/signature-with-options.yml +55 -0
- data/spec/fixtures/vcr_cassettes/upload_video-success.yml +5926 -0
- data/spec/fixtures/vcr_cassettes/user_details-authenticated-fail.yml +122 -0
- data/spec/fixtures/vcr_cassettes/user_details-authenticated-success.yml +53 -0
- data/spec/fixtures/vcr_cassettes/user_details-public-fail.yml +121 -0
- data/spec/fixtures/vcr_cassettes/user_details-public-success.yml +52 -0
- data/spec/fixtures/vcr_cassettes/video_details-pub-authenticated-fail.yml +45 -0
- data/spec/fixtures/vcr_cassettes/video_details-pub-authenticated-success.yml +60 -0
- data/spec/fixtures/vcr_cassettes/video_details-pub-public-fail.yml +44 -0
- data/spec/fixtures/vcr_cassettes/video_details-pub-public-success.yml +59 -0
- data/spec/fixtures/vcr_cassettes/video_details-pvt-authenticated-fail.yml +45 -0
- data/spec/fixtures/vcr_cassettes/video_details-pvt-authenticated-success.yml +63 -0
- data/spec/fixtures/vcr_cassettes/video_details-pvt-public-fail.yml +44 -0
- data/spec/fixtures/vcr_cassettes/video_details-pvt-public-success.yml +44 -0
- data/spec/fixtures/vcr_cassettes/video_list-authenticated-success.yml +63 -0
- data/spec/fixtures/vcr_cassettes/video_list-pub-success.yml +53 -0
- data/spec/fixtures/vcr_cassettes/video_list-pvt-success.yml +65 -0
- data/spec/fixtures/vcr_cassettes/whoami-fail.yml +45 -0
- data/spec/fixtures/vcr_cassettes/whoami-success.yml +50 -0
- data/spec/spec_helper.rb +36 -0
- data/spec/support/cfx.jpeg +0 -0
- data/spec/support/cfx.png +0 -0
- data/spec/support/pic.jpg +0 -0
- data/spec/vzaar/api_xml_spec.rb +353 -0
- data/spec/vzaar/connection_spec.rb +26 -0
- data/spec/vzaar/request/base_spec.rb +66 -0
- data/spec/vzaar/request/url_spec.rb +25 -0
- data/spec/vzaar/resources/account_type_spec.rb +29 -0
- data/spec/vzaar/resources/signature_spec.rb +56 -0
- data/spec/vzaar/uploader_spec.rb +46 -0
- data/spec/vzaar_spec.rb +6 -0
- data/vzaar.gemspec +35 -0
- metadata +317 -95
- data/Changelog +0 -17
- data/README +0 -12
- data/demo.rb +0 -37
- data/lib/rails/controllers/vzaar_controller.rb +0 -37
- data/lib/rails/views/view_helpers.rb +0 -177
- data/lib/vzaar/account_type.rb +0 -31
- data/lib/vzaar/base.rb +0 -470
- data/lib/vzaar/errors.rb +0 -6
- data/lib/vzaar/signature.rb +0 -31
- data/lib/vzaar/user.rb +0 -28
- data/lib/vzaar/video.rb +0 -38
- data/lib/vzaar/video_details.rb +0 -72
- data/rails_generators/vzaar_uploader/USAGE +0 -1
- data/rails_generators/vzaar_uploader/templates/flash/swfupload.swf +0 -0
- data/rails_generators/vzaar_uploader/templates/flash/swfupload_fp9.swf +0 -0
- data/rails_generators/vzaar_uploader/templates/images/cancelbutton.gif +0 -0
- data/rails_generators/vzaar_uploader/templates/javascripts/fileprogress.js +0 -197
- data/rails_generators/vzaar_uploader/templates/javascripts/handlers.js +0 -259
- data/rails_generators/vzaar_uploader/templates/javascripts/json_parse.js +0 -345
- data/rails_generators/vzaar_uploader/templates/javascripts/swfupload.js +0 -1132
- data/rails_generators/vzaar_uploader/templates/javascripts/swfupload.queue.js +0 -98
- data/rails_generators/vzaar_uploader/templates/stylesheets/swfupload.css +0 -335
- data/rails_generators/vzaar_uploader/templates/views/uploader.html.erb +0 -15
- data/rails_generators/vzaar_uploader/vzaar_uploader_generator.rb +0 -52
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NzdkYjI2M2RlM2VhMjIxNGNmMDVhMzM2MjQ5NDI3ZDg2NTU0ZjU4Ng==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
NmZjYjI4OWI4OTQ3NWFjYmQ4YzM0ODMzZDA3OWYyNWIyODBiNGJlMg==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MmU1MmQ0ZTkyNzNmZTY3Nzc3YTkyODNiZTFmNjI2MzIwZWU3MGE5Mjg0YWU5
|
10
|
+
MGVkZTE5Y2U0MmE0MDFiZWY1YmE5OTU5MzgxMTIzYTY4Y2U0OWEyMTM0MDFl
|
11
|
+
N2YyNjM5YzgzZDBiZmVhZDM3OThiYzQ5MjhiMjAzMWQ4ODQ2NWY=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
OTcxMmU2M2E5Mjk0NTQyOGVlNmNlNTAwZjUzMzcwZDNiZDQ0MjVhM2M4OWRk
|
14
|
+
YTcwNjI5ZTQ4ZWI1YzcwZDc2ZTlmYmJiYzVlOTMxNjFlYjNlNzJkNzU1MDE4
|
15
|
+
ZDViMzgxNDEyYWMxN2RhNGRmNDRiMmFmODc0MDBmYzdlOTU2Y2U=
|
data/.gitignore
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
.bundle
|
4
|
+
.config
|
5
|
+
.yardoc
|
6
|
+
Gemfile.lock
|
7
|
+
InstalledFiles
|
8
|
+
_yardoc
|
9
|
+
coverage
|
10
|
+
doc/
|
11
|
+
lib/bundler/man
|
12
|
+
pkg
|
13
|
+
rdoc
|
14
|
+
spec/reports
|
15
|
+
test/tmp
|
16
|
+
test/version_tmp
|
17
|
+
tmp
|
18
|
+
load.rb
|
19
|
+
.irbrc
|
20
|
+
*~
|
21
|
+
*\.\#*
|
22
|
+
*\#
|
23
|
+
*.mp4
|
24
|
+
test.rb
|
data/.rspec
ADDED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.1.1
|
data/.rvmrc
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
rvm use ruby-2.1.1@vzaar --create
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
source "https://rubygems.org"
|
2
|
+
|
3
|
+
# gem 'httpclient'
|
4
|
+
# gem 'nokogiri'
|
5
|
+
# gem 'oauth'
|
6
|
+
|
7
|
+
gemspec
|
8
|
+
|
9
|
+
gem 'rake'
|
10
|
+
|
11
|
+
group :development, :test do
|
12
|
+
gem 'pry'
|
13
|
+
gem 'fuubar'
|
14
|
+
gem 'growl'
|
15
|
+
gem 'guard-rspec'
|
16
|
+
gem 'rspec'
|
17
|
+
gem 'vcr'
|
18
|
+
gem 'webmock'
|
19
|
+
end
|
data/Guardfile
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
# A sample Guardfile
|
2
|
+
# More info at https://github.com/guard/guard#readme
|
3
|
+
|
4
|
+
guard :rspec, all_after_pass: true, all_on_start: true do
|
5
|
+
watch(%r{^spec/.+_spec\.rb$})
|
6
|
+
watch(%r{^lib/vzaar.rb$}) { "spec" }
|
7
|
+
watch(%r{^lib/vzaar/(.+)\.rb$}) { "spec" }
|
8
|
+
watch('spec/spec_helper.rb') { "spec" }
|
9
|
+
end
|
data/LICENSE
CHANGED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2013 Ed James
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 Ed James
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,112 @@
|
|
1
|
+
# vzaar [![Build Status](https://secure.travis-ci.org/vzaar/vzaar-api-ruby.png)](http://travis-ci.org/vzaar/vzaar-api-ruby) [![Code Climate](https://codeclimate.com/github/vzaar/vzaar-api-ruby.png)](https://codeclimate.com/github/vzaar/vzaar-api-ruby)
|
2
|
+
|
3
|
+
A Ruby gem for the vzaar API.
|
4
|
+
|
5
|
+
Note: This version is a beta release.
|
6
|
+
|
7
|
+
### Installation
|
8
|
+
|
9
|
+
Add this line to your application's Gemfile:
|
10
|
+
|
11
|
+
gem 'vzaar', :git => "git@github.com:vzaar/vzaar-api-ruby.git", :branch => 'master'
|
12
|
+
|
13
|
+
And then execute:
|
14
|
+
|
15
|
+
$ bundle
|
16
|
+
|
17
|
+
|
18
|
+
### Usage
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
conn = Vzaar::Connection.new(:application_token => "API token", :login => "vzaar login")
|
22
|
+
api = Vzaar::Api.new(conn)
|
23
|
+
```
|
24
|
+
|
25
|
+
If your login and API token are correct, you should be able to fetch your login by calling:
|
26
|
+
```ruby
|
27
|
+
api.whoami
|
28
|
+
=> "VZAAR LOGIN"
|
29
|
+
```
|
30
|
+
|
31
|
+
### Endpoints:
|
32
|
+
|
33
|
+
Fetching account's type details:
|
34
|
+
```ruby
|
35
|
+
api.account_type(account_type_id, options)
|
36
|
+
```
|
37
|
+
|
38
|
+
Fetching user's details:
|
39
|
+
```ruby
|
40
|
+
api.user_details("user login", options)
|
41
|
+
```
|
42
|
+
|
43
|
+
Getting details from public video:
|
44
|
+
```ruby
|
45
|
+
api.video_details(video_id, options)
|
46
|
+
```
|
47
|
+
|
48
|
+
Getting details from private video (authentication required):
|
49
|
+
```ruby
|
50
|
+
api.video_details(video_id, authenticated: true)
|
51
|
+
```
|
52
|
+
|
53
|
+
Fetching videos for a given user:
|
54
|
+
```ruby
|
55
|
+
api.video_details("user login", options)
|
56
|
+
```
|
57
|
+
|
58
|
+
Fetching videos for authenticated user (authentication required):
|
59
|
+
```ruby
|
60
|
+
api.videos
|
61
|
+
```
|
62
|
+
|
63
|
+
Removing video from vzaar: (authentication required)
|
64
|
+
```ruby
|
65
|
+
api.delete(video_id)
|
66
|
+
```
|
67
|
+
|
68
|
+
Updating existing video (authentication required):
|
69
|
+
```ruby
|
70
|
+
api.edit_video(video_id, options)
|
71
|
+
|
72
|
+
# options are: title, description, private and seo_url
|
73
|
+
```
|
74
|
+
|
75
|
+
Uploading new video to vzaar (authentication required):
|
76
|
+
```ruby
|
77
|
+
api.upload_video(options)
|
78
|
+
|
79
|
+
# options are: path, url, title, description, profile, transcoding, replace_id,
|
80
|
+
# width and bitrate
|
81
|
+
#
|
82
|
+
# e.g api.upload(path: "./path/to/video.mp4", title: "my video")
|
83
|
+
#
|
84
|
+
# For link upload use url param:
|
85
|
+
# api.upload_video(url: "http://example.com/video.mp4", title: "my video")
|
86
|
+
```
|
87
|
+
|
88
|
+
Uploading new thumbnail for video (authentication required):
|
89
|
+
```ruby
|
90
|
+
api.upload_thumbnail(video_id, opts={})
|
91
|
+
|
92
|
+
# e.g api.upload_thumbnail(123456, path: "/path/to/image.jpg")
|
93
|
+
```
|
94
|
+
|
95
|
+
Getting guid and aws signature (authentication required):
|
96
|
+
```ruby
|
97
|
+
api.signature
|
98
|
+
```
|
99
|
+
|
100
|
+
### Previous versions of vzaar gem
|
101
|
+
|
102
|
+
This version is not backwards compatible with any of the previous versions of vzaar gem (0.2.x series)
|
103
|
+
0.2.x series is no longer maintained.
|
104
|
+
|
105
|
+
|
106
|
+
### Contributing
|
107
|
+
|
108
|
+
1. Fork it
|
109
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
110
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
111
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
112
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
data/lib/vzaar.rb
CHANGED
@@ -1,67 +1,75 @@
|
|
1
|
-
|
2
|
-
# The Vzaar API provides means to access and manage resources on http://vzaar.com
|
3
|
-
#
|
4
|
-
# See README file for installation details.
|
5
|
-
#
|
6
|
-
# Author:: Mariusz Lusiak <mailto:mariusz@applicake.com>
|
7
|
-
|
8
|
-
require 'rubygems'
|
9
|
-
require 'httpclient'
|
10
|
-
require 'logger'
|
11
|
-
require 'oauth/consumer'
|
12
|
-
require 'rexml/document'
|
13
|
-
require 'vzaar/account_type'
|
14
|
-
require 'vzaar/base'
|
15
|
-
require 'vzaar/errors'
|
16
|
-
require 'vzaar/user'
|
17
|
-
require 'vzaar/signature'
|
18
|
-
require 'vzaar/video'
|
19
|
-
require 'vzaar/video_details'
|
1
|
+
$: << File.dirname(__FILE__)
|
20
2
|
|
21
3
|
module Vzaar
|
4
|
+
module Helper
|
5
|
+
def blank?(obj)
|
6
|
+
obj.nil? or obj == ""
|
7
|
+
end
|
22
8
|
|
23
|
-
|
9
|
+
def symb_keys(hash)
|
10
|
+
h = {}
|
11
|
+
hash.each_pair do |k,v|
|
12
|
+
h[k.to_sym] = v.is_a?(Hash) ? symb_keys(v) : v
|
13
|
+
end
|
14
|
+
h
|
15
|
+
end
|
16
|
+
end
|
24
17
|
|
25
|
-
|
26
|
-
|
27
|
-
HTTP_DELETE = 'DELETE'
|
28
|
-
HTTP_PUT = 'PUT'
|
18
|
+
class Error < StandardError; end
|
19
|
+
end
|
29
20
|
|
30
|
-
|
31
|
-
|
21
|
+
require 'httpclient'
|
22
|
+
require 'nokogiri'
|
23
|
+
require 'oauth'
|
24
|
+
require 'json'
|
32
25
|
|
33
|
-
HTTP_FORBIDDEN = "403"
|
34
|
-
HTTP_NOT_FOUND = "404"
|
35
26
|
|
36
|
-
|
27
|
+
require 'vzaar/request/multipart'
|
28
|
+
require 'vzaar/ext/oauth'
|
29
|
+
require 'vzaar/connection'
|
30
|
+
require 'vzaar/request/base'
|
37
31
|
|
38
|
-
|
32
|
+
# resources
|
39
33
|
|
40
|
-
|
34
|
+
require 'vzaar/resources/base'
|
35
|
+
require 'vzaar/resources/account_type'
|
41
36
|
|
42
|
-
@connection = nil
|
43
37
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
38
|
+
require 'vzaar/resources/user'
|
39
|
+
require 'vzaar/resources/video'
|
40
|
+
require 'vzaar/resources/video_status'
|
41
|
+
require 'vzaar/resources/video_details'
|
42
|
+
require 'vzaar/resources/video_collection_item'
|
43
|
+
require 'vzaar/resources/video_collection'
|
44
|
+
require 'vzaar/resources/signature'
|
45
|
+
require 'vzaar/resources/processed_video'
|
46
|
+
require 'vzaar/resources/who_am_i'
|
47
|
+
require 'vzaar/resources/link_upload'
|
48
|
+
require 'vzaar/resources/upload_thumbnail'
|
51
49
|
|
52
|
-
|
53
|
-
def enable_uploader
|
54
|
-
return if ActionView::Base.instance_methods.include? 'vzaar_basic_uploader'
|
55
|
-
require 'rails/views/view_helpers'
|
56
|
-
ActionView::Base.send :include, Vzaar::ViewHelpers
|
57
|
-
controllers_path = "#{File.dirname(__FILE__)}/rails/controllers"
|
58
|
-
ActiveSupport::Dependencies.load_paths << controllers_path
|
59
|
-
end
|
50
|
+
# request
|
60
51
|
|
61
|
-
|
62
|
-
|
63
|
-
|
52
|
+
require 'vzaar/request/video'
|
53
|
+
require 'vzaar/request/video_details'
|
54
|
+
require 'vzaar/request/who_am_i'
|
55
|
+
require 'vzaar/request/account_type'
|
56
|
+
require 'vzaar/request/user_details'
|
57
|
+
require 'vzaar/request/video_list'
|
58
|
+
require 'vzaar/request/delete_video'
|
59
|
+
require 'vzaar/request/upload_status'
|
60
|
+
require 'vzaar/request/link_upload'
|
61
|
+
require 'vzaar/request/upload_thumbnail'
|
64
62
|
|
65
|
-
|
66
|
-
|
67
|
-
|
63
|
+
require 'vzaar/uploader'
|
64
|
+
|
65
|
+
|
66
|
+
# response
|
67
|
+
|
68
|
+
require 'vzaar/response/base'
|
69
|
+
|
70
|
+
|
71
|
+
require 'vzaar/request/edit_video'
|
72
|
+
require 'vzaar/request/process_video'
|
73
|
+
require 'vzaar/request/signature'
|
74
|
+
require 'vzaar/request/url'
|
75
|
+
require 'vzaar/api'
|
data/lib/vzaar/api.rb
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
module Vzaar
|
2
|
+
class Api < Struct.new(:conn)
|
3
|
+
|
4
|
+
def whoami(opts={})
|
5
|
+
resource = Request::WhoAmI.new(conn, opts).execute
|
6
|
+
resource.login
|
7
|
+
end
|
8
|
+
|
9
|
+
def account_type(account_type_id, opts={})
|
10
|
+
_opts = opts.merge(account_type_id: account_type_id)
|
11
|
+
Request::AccountType.new(conn, _opts).execute
|
12
|
+
end
|
13
|
+
|
14
|
+
def user_details(login, opts={})
|
15
|
+
Request::UserDetails.new(conn, opts.merge(login: login)).execute
|
16
|
+
end
|
17
|
+
|
18
|
+
def video_details(video_id, opts={})
|
19
|
+
Request::VideoDetails.new(conn, opts.merge(video_id: video_id)).execute
|
20
|
+
end
|
21
|
+
|
22
|
+
def video_list(login, opts={})
|
23
|
+
Request::VideoList.new(conn, opts.merge(login: login)).execute
|
24
|
+
end
|
25
|
+
|
26
|
+
def videos(opts={})
|
27
|
+
video_list(conn.login, { authenticated: true, page: opts[:page] })
|
28
|
+
end
|
29
|
+
|
30
|
+
def delete_video(video_id, opts={})
|
31
|
+
Request::DeleteVideo.new(conn, opts.merge(video_id: video_id)).execute
|
32
|
+
end
|
33
|
+
|
34
|
+
def edit_video(video_id, opts={})
|
35
|
+
Request::EditVideo.new(conn, opts.merge(video_id: video_id)).execute
|
36
|
+
end
|
37
|
+
|
38
|
+
def signature(opts={})
|
39
|
+
Request::Signature.new(conn, opts).execute
|
40
|
+
end
|
41
|
+
|
42
|
+
def process_video(opts={})
|
43
|
+
Request::ProcessVideo.new(conn, opts).execute
|
44
|
+
end
|
45
|
+
|
46
|
+
def upload_video(opts={})
|
47
|
+
uploader = Uploader.new(conn, signature, opts)
|
48
|
+
uploader.upload do |u|
|
49
|
+
process_video(u.processing_params)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def upload_thumbnail(video_id, opts={})
|
54
|
+
Request::UploadThumbnail.new(conn, opts.merge(video_id: video_id)).execute
|
55
|
+
end
|
56
|
+
|
57
|
+
def link_upload(url, opts={})
|
58
|
+
sig = signature
|
59
|
+
_opts = opts.merge({ guid: sig.guid, key: sig.key, url: url })
|
60
|
+
Request::LinkUpload.new(conn, _opts).execute
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|