Sha256: 80d3b1e64eebfe8c55603be8e86ec5d9d12f494323af96522836eb8443552b93
Contents?: true
Size: 1.67 KB
Versions: 3
Compression:
Stored size: 1.67 KB
Contents
# frozen_string_literal: true require 'active_support/core_ext/hash/compact' require 'video_embed' 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 = nil, height = nil) VideoEmbed.embed(url, { width: width, height: height }.compact) end def to_hash { 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
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dato-0.3.6 | lib/dato/local/field_type/video.rb |
dato-0.3.5 | lib/dato/local/field_type/video.rb |
dato-0.3.3 | lib/dato/local/field_type/video.rb |