# frozen_string_literal: true require 'active_support/core_ext/hash/compact' module Dato module Local module FieldType class Video attr_reader :url attr_reader :thumbnail_url attr_reader :title attr_reader :width attr_reader :height attr_reader :provider attr_reader :provider_url attr_reader :provider_uid def self.parse(value, _repo) value && new( value[:url], value[:thumbnail_url], value[:title], value[:width], value[:height], value[:provider], value[:provider_url], value[:provider_uid] ) end def initialize( url, thumbnail_url, title, width, height, provider, provider_url, provider_uid ) @url = url @thumbnail_url = thumbnail_url @title = title @width = width @height = height @provider = provider @provider_url = provider_url @provider_uid = provider_uid end def iframe_embed(width = self.width, height = self.height) # rubocop:disable Metrics/LineLength if provider == 'youtube' %() elsif provider == 'vimeo' %() elsif provider == 'facebook' %() end # rubocop:enable Metrics/LineLength end def to_hash(*_args) { url: url, thumbnail_url: thumbnail_url, title: title, width: width, height: height, provider: provider, provider_url: provider_url, provider_uid: provider_uid } end end end end end