Sha256: 04206444e134ed6fbbee0d37b87d134d89f93cac5c813c7f6f53a81215a9af13
Contents?: true
Size: 1.46 KB
Versions: 4
Compression:
Stored size: 1.46 KB
Contents
module Videojuicer module Asset class Base def self.inherited(base) base.send(:include, Videojuicer::Resource) base.send(:extend, Videojuicer::Asset::Base::ClassMethods) base.send(:include, Videojuicer::Asset::Base::InstanceMethods) base.property :user_id, Integer # - generic file handling base.property :file, File base.property :file_name, String base.property :file_size, Integer, :writer=>:private # - common metadata base.property :duration, Integer # milliseconds base.property :licensed_at, Date base.property :licensed_by, String base.property :licensed_under, String base.property :published_at, Date # - access control / workflow base.property :state, String, :writer => :private base.property :url, String, :writer => :private base.property :created_at, DateTime base.property :updated_at, DateTime end module ClassMethods def singular_name "asset" end def base_path "/assets/#{self.to_s.downcase.split("::").last}" end end module InstanceMethods def returnable_attributes attrs = super attrs.delete(:file) unless new_record? attrs end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems