class GuidedPath::MultimediaNode

Constants

CATEGORIES

Attributes

caption[R]
source[R]
url[R]

Public Class Methods

new(args = {}) click to toggle source
Calls superclass method
# File lib/guided_path/multimedia_node.rb, line 10
def initialize(args = {})
  super
  args = args.symbolize_keys

  raise(ArgumentError, "Must specify a value for the node") unless args[:url]
  @url = args[:url].to_s

  raise(ArgumentError, "Must specify a source") unless args[:url]
  @source = args[:source].to_s
  raise(ArgumentError, "Must specify a source in #{CATEGORIES.join(', ')}") unless CATEGORIES.include?(@source)
  @caption = args[:caption]  
  if @caption.kind_of?(String)
    @caption = {text: @caption, position: 'bottom'}
  elsif @caption.kind_of?(Hash)
    @caption = {text: @caption['text'], position: @caption['position'] || 'top'}
  end
end

Public Instance Methods

to_hash() click to toggle source
Calls superclass method
# File lib/guided_path/multimedia_node.rb, line 29
def to_hash
  output = super
  output[:type] = @source 
  output[:url] = @url
  output[:caption] = @caption
  output
end