Module: Falcon::Base::SingletonMethods
- Defined in:
- lib/falcon/base.rb
Instance Method Summary collapse
-
#falcon_encode(name, options = {}) ⇒ Object
falcon_encode ‘media’, :source => lambda { |file| file.data.path }, :profiles => [‘web_mp4’, ‘web_ogg’].
Instance Method Details
#falcon_encode(name, options = {}) ⇒ Object
falcon_encode ‘media’, :source => lambda { |file| file.data.path },
:profiles => ['web_mp4', 'web_ogg']
falcon_encode ‘media’, :source => :method_return_path_to_file,
:profiles => ['web_mp4', 'web_ogg']
:metadata => :method_return_options_hash,
:encode => lambda { |encoding| encoding.delay.encode }
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/falcon/base.rb', line 17 def falcon_encode(name, = {}) extend ClassMethods include InstanceMethods .assert_valid_keys(:source, :profiles, :metadata, :encode) unless respond_to?(:falcon_encoding_definitions) class_attribute :falcon_encoding_definitions, :instance_writer => false self.falcon_encoding_definitions = {} end self.falcon_encoding_definitions[name] = has_many :falcon_encodings, :class_name => 'Falcon::Encoding', :as => :videoable, :dependent => :destroy after_save :save_falcon_medias define_falcon_callbacks :encode, :"#{name}_encode" define_method name do |*args| a = falcon_media_for(name) (args.length > 0) ? a.to_s(args.first) : a end define_method "#{name}=" do |source_path| falcon_media_for(name).assign(source_path) end define_method "#{name}?" do falcon_media_for(name).exist? end end |