Class: Videojuicer::Asset::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/videojuicer/asset/base.rb

Direct Known Subclasses

Audio, Flash, Image, Text, Video

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Class Method Summary collapse

Class Method Details

.inherited(base) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/videojuicer/asset/base.rb', line 5

def self.inherited(base)
  base.send(:include, Videojuicer::Resource)
  base.send(:extend, Videojuicer::Asset::Base::ClassMethods)
  base.send(:include, Videojuicer::Asset::Base::InstanceMethods)
  
  # - heritage
  base.property :original_asset_id,   Integer,  :writer => :private
  base.property :original_asset_type, String,   :writer => :private
  base.property :preset_id,           Integer,  :writer => :private
  base.property :user_id,             Integer,  :writer => :private
  
  # - transformation
  base.property :source_space_window, String,   :writer => :private
  base.property :source_time_window,  String,   :writer => :private
  
  # - generic file handling
  base.property :file,                File
  base.property :file_name,           String
  base.property :file_size,           Integer,  :writer => :private # bytes
  
  # - common metadata
  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 :url,                 String,   :writer => :private
  base.property :state,               String,   :writer => :private
  base.property :state_changed_at,    DateTime, :writer => :private
  base.property :state_changed_url,   String
  base.property :created_at,          DateTime
  base.property :updated_at,          DateTime
end