Sha256: 3e29b5c595f9f1e920e121eb3e3ec9fd9fcab8db3faf828b2c2027e85a2bf298
Contents?: true
Size: 1.63 KB
Versions: 1
Compression:
Stored size: 1.63 KB
Contents
require 'vimeo' class VimeoMetaCache < ActiveRecord::Base set_table_name "vimeo_meta_cache" has_many :vimeo_video_embed_caches, :dependent => :destroy belongs_to :image, :class_name => 'Image' before_save :cache validates_presence_of :vid def embed geometry, options = {} VimeoEmbedCache.embed(self.vid, geometry, options).code end def url "http://www.vimeo.com/#{self.vid}" end def force_cache cache true self.save end private def cache force = false if self.title.blank? or self.image_id.blank? get_account video = Vimeo::Advanced::Video.new( @account[:consumer_key], @account[:consumer_secret], :token => @account[:token], :secret => @account[:secret]) video_info = video.get_info(self.vid)["video"].first # Save cached image vimeo_thumb_url = video_info["thumbnails"]["thumbnail"].last["_content"] self.create_image(:image => URLTempfile.new(vimeo_thumb_url)) if self.image_id.blank? or force # Save cached title self.title = video_info["description"] if self.title.blank? or force end end def get_account @account = { :username => RefinerySetting.find_or_set('vimeo_username', :value => "Username"), :consumer_key => RefinerySetting.find_by_name('vimeo_consumer_key').value, :consumer_secret => RefinerySetting.find_by_name('vimeo_consumer_secret').value, :token => RefinerySetting.find_by_name('vimeo_token').value, :secret => RefinerySetting.find_by_name('vimeo_secret').value} end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
refinerycms-vimeo-videos-0.1.2 | app/models/vimeo_meta_cache.rb |