videojs_rails 4.12.14 → 4.12.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/videojs_rails.rb +1 -0
- data/lib/videojs_rails/tags.rb +9 -0
- data/lib/videojs_rails/tags/caption.rb +45 -0
- data/lib/videojs_rails/tags/source.rb +36 -0
- data/lib/videojs_rails/tags/tag.rb +9 -0
- data/lib/videojs_rails/tags/video.rb +42 -0
- data/lib/videojs_rails/version.rb +1 -1
- data/lib/videojs_rails/view_helpers.rb +1 -66
- data/readme.md +1 -1
- data/vendor/assets/javascripts/video-js.swf +0 -0
- data/vendor/assets/javascripts/video.js.erb +9 -5
- data/vendor/assets/stylesheets/video-js.css.erb +1 -1
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a4bace1ee88ca2b58be1fa239cf90e397db30376
|
4
|
+
data.tar.gz: d1368fa459853c9349577f31ef5230815bf7329c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 18223a3310e310112df9fe1624eed4514bc70c0342f472a21ccb86803ccb399c700fc7bec7d94f19f8d962f277d9a2199fc716f3ea41e62d37ea2d828885d30b
|
7
|
+
data.tar.gz: db4e99e053818a473c592919ced475c30be9c86992dbc6d2ea7d627c305a01e45378a91d0128fc1a396c5eac98dd8b0505a39c7be6302aa8190c981f4f5aad6b
|
data/lib/videojs_rails.rb
CHANGED
@@ -0,0 +1,45 @@
|
|
1
|
+
module VideojsRails
|
2
|
+
module Tags
|
3
|
+
class Caption < Tag
|
4
|
+
def initialize(lang, default_language, options)
|
5
|
+
@lang = lang.to_sym
|
6
|
+
@default_language = default_language
|
7
|
+
parse_options(options)
|
8
|
+
end
|
9
|
+
|
10
|
+
def to_html
|
11
|
+
tag :track, attributes
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
attr_reader :src, :label, :lang, :default_language
|
17
|
+
|
18
|
+
def default?
|
19
|
+
default_language == lang
|
20
|
+
end
|
21
|
+
|
22
|
+
def parse_options(options)
|
23
|
+
case options
|
24
|
+
when String, Symbol
|
25
|
+
@src = options
|
26
|
+
when Hash
|
27
|
+
@src, @label = options.values_at(:src, :label)
|
28
|
+
else
|
29
|
+
raise ArgumentError
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def attributes
|
34
|
+
{
|
35
|
+
kind: :captions,
|
36
|
+
src: src,
|
37
|
+
srclang: lang,
|
38
|
+
label: label,
|
39
|
+
default: default?
|
40
|
+
}
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module VideojsRails
|
2
|
+
module Tags
|
3
|
+
class Source < Tag
|
4
|
+
def initialize(video_type, options)
|
5
|
+
@video_type = video_type
|
6
|
+
@attributes = parse_options(options)
|
7
|
+
end
|
8
|
+
|
9
|
+
def to_html
|
10
|
+
tag :source, @attributes
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
attr_reader :video_type
|
16
|
+
|
17
|
+
def parse_options(options)
|
18
|
+
case options
|
19
|
+
when String, Symbol
|
20
|
+
{
|
21
|
+
src: options,
|
22
|
+
type: type
|
23
|
+
}
|
24
|
+
when Hash
|
25
|
+
options
|
26
|
+
else
|
27
|
+
raise ArgumentError
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def type
|
32
|
+
"video/#{video_type}"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module VideojsRails
|
2
|
+
module Tags
|
3
|
+
class Video < Tag
|
4
|
+
DEFAULT_LANGUAGE_KEY = :default_caption_language
|
5
|
+
DEFAULT_OPTIONS = {
|
6
|
+
controls: true,
|
7
|
+
preload: :auto
|
8
|
+
}.freeze
|
9
|
+
|
10
|
+
def initialize(options, &no_js)
|
11
|
+
@no_js = no_js
|
12
|
+
prepare_options(options)
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_html
|
16
|
+
content_tag(:video, options) do
|
17
|
+
sources.each {|type, options| concat Source.new(type, options).to_html }
|
18
|
+
captions.each {|lang, options| concat Caption.new(lang, default_caption_language, options).to_html }
|
19
|
+
generate_no_js
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
attr_reader :no_js, :sources, :captions, :options, :default_caption_language
|
26
|
+
|
27
|
+
def prepare_options(user_options)
|
28
|
+
@sources = user_options.delete(:sources) || []
|
29
|
+
@captions = user_options.delete(:captions) || []
|
30
|
+
@default_caption_language = user_options.delete(DEFAULT_LANGUAGE_KEY)
|
31
|
+
@options = DEFAULT_OPTIONS.merge(user_options)
|
32
|
+
options[:'data-setup'] = options.delete(:setup) if options.key?(:setup)
|
33
|
+
options[:class] = [:'video-js', :'vjs-default-skin', *options[:class]]
|
34
|
+
end
|
35
|
+
|
36
|
+
def generate_no_js
|
37
|
+
return if no_js.nil?
|
38
|
+
concat content_tag(:p, no_js.call(), class: :'vjs-no-js')
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -1,72 +1,7 @@
|
|
1
1
|
module VideojsRails
|
2
2
|
module ViewHelpers
|
3
|
-
DEFAULT_OPTIONS = {
|
4
|
-
controls: true,
|
5
|
-
preload: :auto
|
6
|
-
}.freeze
|
7
|
-
|
8
3
|
def videojs_rails(user_options, &blk)
|
9
|
-
|
10
|
-
generate_tag(options, sources, captions, &blk)
|
11
|
-
end
|
12
|
-
|
13
|
-
private
|
14
|
-
|
15
|
-
def prepare_options(user_options)
|
16
|
-
options = DEFAULT_OPTIONS.merge(user_options)
|
17
|
-
options[:'data-setup'] = options.delete(:setup) if options.key?(:setup)
|
18
|
-
options[:class] = [options[:class], "video-js vjs-default-skin"].join(' ')
|
19
|
-
|
20
|
-
[options.delete(:sources), options.delete(:captions), options]
|
21
|
-
end
|
22
|
-
|
23
|
-
def generate_sources(sources)
|
24
|
-
return if sources.blank?
|
25
|
-
sources.each do |type, source|
|
26
|
-
concat tag(:source, src: source, type: "video/#{ type }")
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def generate_captions(captions, options)
|
31
|
-
return if captions.blank?
|
32
|
-
captions.each do |lang, caption|
|
33
|
-
src, label = extract_caption_information(caption)
|
34
|
-
caption_options = prepare_caption_options(src, lang, label, options)
|
35
|
-
|
36
|
-
concat tag(:track, caption_options)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def extract_caption_information(caption)
|
41
|
-
if caption.is_a?(Hash)
|
42
|
-
caption.values_at(:src, :label)
|
43
|
-
else
|
44
|
-
caption
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
def prepare_caption_options(src, lang, label, options)
|
49
|
-
default_caption_language = options[:default_caption_language].try(:to_sym)
|
50
|
-
{
|
51
|
-
kind: :captions,
|
52
|
-
src: src,
|
53
|
-
srclang: lang,
|
54
|
-
label: label,
|
55
|
-
default: default_caption_language == lang.to_sym
|
56
|
-
}
|
57
|
-
end
|
58
|
-
|
59
|
-
def generate_tag(options, sources, captions, &blk)
|
60
|
-
content_tag(:video, options) do
|
61
|
-
generate_sources(sources)
|
62
|
-
generate_captions(captions, options)
|
63
|
-
generate_no_js(&blk)
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
def generate_no_js
|
68
|
-
return unless block_given?
|
69
|
-
concat content_tag(:p, yield, class: :'vjs-no-js')
|
4
|
+
VideojsRails::Tags::Video.new(user_options, &blk).to_html
|
70
5
|
end
|
71
6
|
end
|
72
7
|
end
|
data/readme.md
CHANGED
Binary file
|
@@ -80,7 +80,7 @@ vjs.ACCESS_PROTOCOL = ('https:' == document.location.protocol ? 'https://' : 'ht
|
|
80
80
|
* Full player version
|
81
81
|
* @type {string}
|
82
82
|
*/
|
83
|
-
vjs['VERSION'] = '4.12.
|
83
|
+
vjs['VERSION'] = '4.12.15';
|
84
84
|
|
85
85
|
/**
|
86
86
|
* Global Player instance options, surfaced from vjs.Player.prototype.options_
|
@@ -7882,6 +7882,10 @@ vjs.Flash.prototype.dispose = function(){
|
|
7882
7882
|
};
|
7883
7883
|
|
7884
7884
|
vjs.Flash.prototype.play = function(){
|
7885
|
+
if (this.ended()) {
|
7886
|
+
this['setCurrentTime'](0);
|
7887
|
+
}
|
7888
|
+
|
7885
7889
|
this.el_.vjs_play();
|
7886
7890
|
};
|
7887
7891
|
|
@@ -9896,7 +9900,7 @@ vjs.plugin = function(name, init){
|
|
9896
9900
|
vjs.Player.prototype[name] = init;
|
9897
9901
|
};
|
9898
9902
|
|
9899
|
-
/* vtt.js - v0.
|
9903
|
+
/* vtt.js - v0.12.1 (https://github.com/mozilla/vtt.js) built on 08-07-2015 */
|
9900
9904
|
|
9901
9905
|
(function(root) {
|
9902
9906
|
var vttjs = root.vttjs = {};
|
@@ -10246,7 +10250,7 @@ vjs.plugin = function(name, init){
|
|
10246
10250
|
|
10247
10251
|
var scrollSetting = {
|
10248
10252
|
"": true,
|
10249
|
-
"up": true
|
10253
|
+
"up": true
|
10250
10254
|
};
|
10251
10255
|
|
10252
10256
|
function findScrollSetting(value) {
|
@@ -11162,7 +11166,7 @@ vjs.plugin = function(name, init){
|
|
11162
11166
|
if (cue.vertical === "") {
|
11163
11167
|
this.applyStyles({
|
11164
11168
|
left: this.formatStyle(textPos, "%"),
|
11165
|
-
width: this.formatStyle(cue.size, "%")
|
11169
|
+
width: this.formatStyle(cue.size, "%")
|
11166
11170
|
});
|
11167
11171
|
// Vertical box orientation; textPos is the distance from the top edge of the
|
11168
11172
|
// area to the top edge of the box and cue.size is the height extending
|
@@ -11181,7 +11185,7 @@ vjs.plugin = function(name, init){
|
|
11181
11185
|
left: this.formatStyle(box.left, "px"),
|
11182
11186
|
right: this.formatStyle(box.right, "px"),
|
11183
11187
|
height: this.formatStyle(box.height, "px"),
|
11184
|
-
width: this.formatStyle(box.width, "px")
|
11188
|
+
width: this.formatStyle(box.width, "px")
|
11185
11189
|
});
|
11186
11190
|
};
|
11187
11191
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: videojs_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.12.
|
4
|
+
version: 4.12.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Behan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: HTML5 VideoJS plugin
|
14
14
|
email:
|
@@ -23,6 +23,11 @@ files:
|
|
23
23
|
- lib/videojs_rails.rb
|
24
24
|
- lib/videojs_rails/engine.rb
|
25
25
|
- lib/videojs_rails/railtie.rb
|
26
|
+
- lib/videojs_rails/tags.rb
|
27
|
+
- lib/videojs_rails/tags/caption.rb
|
28
|
+
- lib/videojs_rails/tags/source.rb
|
29
|
+
- lib/videojs_rails/tags/tag.rb
|
30
|
+
- lib/videojs_rails/tags/video.rb
|
26
31
|
- lib/videojs_rails/version.rb
|
27
32
|
- lib/videojs_rails/view_helpers.rb
|
28
33
|
- readme.md
|
@@ -54,8 +59,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
54
59
|
version: '0'
|
55
60
|
requirements: []
|
56
61
|
rubyforge_project: videojs_rails
|
57
|
-
rubygems_version: 2.
|
62
|
+
rubygems_version: 2.2.5
|
58
63
|
signing_key:
|
59
64
|
specification_version: 4
|
60
65
|
summary: VideoJS plugin for Rails 3.1 Asset Pipeline
|
61
66
|
test_files: []
|
67
|
+
has_rdoc:
|