Sha256: fa0a2e04c3ba20190c44d3b63735ec6529376c05c94bbccd0c39f21a6ac0a0a2
Contents?: true
Size: 1008 Bytes
Versions: 1
Compression:
Stored size: 1008 Bytes
Contents
module Refinery module VimeoVideos module ActiveRecordExtension def self.included(base) base.extend(ClassMethods) end module ClassMethods def vimeo_video field class_eval <<-EOV def #{field} if self.new_record? self.#{field}_id else self.#{field}_id? ? VimeoMetaCache.find_or_create_by_vid(self.#{field}_id) : nil end end before_save :cache_vimeo_meta_for_#{field} def cache_vimeo_meta_for_#{field} if self.#{field}_id? and self.#{field}_id_changed? VimeoMetaCache.find_or_create_by_vid(self.#{field}_id) end end protected :cache_vimeo_meta_for_#{field} EOV end end end end end ActiveRecord::Base.class_eval { include Refinery::VimeoVideos::ActiveRecordExtension }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
refinerycms-vimeo-videos-0.1.8 | lib/refinerycms_vimeo_videos/active_record_extension.rb |