Class: Coradoc::Element::Video
- Extended by:
- AttributeList::Matchers
- Defined in:
- lib/coradoc/element/video.rb
Constant Summary collapse
- VALIDATORS_POSITIONAL =
[ [:alt, String], [:width, Integer], [:height, Integer], ]
- VALIDATORS_NAMED =
{ title: String, poster: String, width: Integer, height: Integer, start: Integer, end: Integer, theme: one("dark", "light"), lang: /[a-z]{2,3}(?:-[A-Z]{2})?/, list: String, playlist: String, options: many("autoplay", "loop", "modest", "nocontrols", "nofullscreen", "muted"), }
Instance Attribute Summary collapse
-
#id ⇒ Object
Returns the value of attribute id.
-
#options ⇒ Object
Returns the value of attribute options.
-
#src ⇒ Object
Returns the value of attribute src.
-
#title ⇒ Object
Returns the value of attribute title.
Instance Method Summary collapse
-
#initialize(title, options = {}) ⇒ Video
constructor
A new instance of Video.
- #to_adoc ⇒ Object
Methods included from AttributeList::Matchers
Methods inherited from Base
#children_accessors, children_accessors, declare_children, #simplify_block_content, visit, #visit
Constructor Details
#initialize(title, options = {}) ⇒ Video
Returns a new instance of Video.
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/coradoc/element/video.rb', line 8 def initialize(title, = {}) @title = title @id = .fetch(:id, nil) @anchor = @id.nil? ? nil : Inline::Anchor.new(@id) @src = .fetch(:src, "") @attributes = .fetch(:attributes, AttributeList.new) if @attributes.any? @attributes.validate_positional(VALIDATORS_POSITIONAL) @attributes.validate_named(VALIDATORS_NAMED) end end |
Instance Attribute Details
#id ⇒ Object
Returns the value of attribute id.
4 5 6 |
# File 'lib/coradoc/element/video.rb', line 4 def id @id end |
#options ⇒ Object
Returns the value of attribute options.
4 5 6 |
# File 'lib/coradoc/element/video.rb', line 4 def @options end |
#src ⇒ Object
Returns the value of attribute src.
4 5 6 |
# File 'lib/coradoc/element/video.rb', line 4 def src @src end |
#title ⇒ Object
Returns the value of attribute title.
4 5 6 |
# File 'lib/coradoc/element/video.rb', line 4 def title @title end |
Instance Method Details
#to_adoc ⇒ Object
20 21 22 23 24 25 |
# File 'lib/coradoc/element/video.rb', line 20 def to_adoc anchor = @anchor.nil? ? "" : "#{@anchor.to_adoc}\n" title = ".#{@title}\n" unless @title.empty? attrs = @attributes.to_adoc [anchor, title, "video::", @src, attrs].join("") end |