social_stream-documents 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,16 @@
1
1
  class AudiosController < CommonDocumentsController
2
2
  respond_to :html,:js
3
+
4
+ def show
5
+ path = @audio.file.path(params[:style])
6
+ if(params[:style].present?) && Document::STYLE_FORMAT[params[:style]]
7
+ path = path.split('.')[0]+'.'+Document::STYLE_FORMAT[params[:style]]
8
+ end
9
+ respond_to do |format|
10
+ format.all {send_file path,
11
+ :type => Document::STYLE_MIMETYPE[params[:style]], # CANT USE: @video.file_content_type because it is allways video/mp4 and breaks explorer and firefox
12
+ :disposition => "inline"}
13
+ end
14
+ end
15
+
3
16
  end
@@ -9,10 +9,11 @@ class DocumentsController < CommonDocumentsController
9
9
  end
10
10
  end
11
11
 
12
+ #TODO: we have to add the mimetype as in videos_controller
12
13
  def download
13
14
  path = @document.file.path(params[:style])
14
15
  head(:bad_request) and return unless File.exist?(path)
15
- send_file_options = {:filename=>@document.file_file_name}
16
+ send_file_options = {:filename=>@document.file_file_name, :type => @document.file_content_type}
16
17
 
17
18
  case SEND_FILE_METHOD
18
19
  when :apache then send_file_options[:x_sendfile] = true
@@ -10,7 +10,7 @@ class VideosController < CommonDocumentsController
10
10
  end
11
11
  respond_to do |format|
12
12
  format.all {send_file path,
13
- :type => params[:style]=="thumb" ? "image/png" : @video.file_content_type,
13
+ :type => Document::STYLE_MIMETYPE[params[:style]], # CANT USE: @video.file_content_type because it is allways video/mp4 and breaks explorer and firefox
14
14
  :disposition => "inline"}
15
15
  end
16
16
  end
data/app/models/audio.rb CHANGED
@@ -1,7 +1,20 @@
1
1
  class Audio < Document
2
-
2
+ after_save :audioprocess
3
+
4
+ has_attached_file :file,
5
+ :url => '/:class/:id.:extension',
6
+ :path => ':rails_root/documents/:class/:id_partition/:style.:extension',
7
+ :styles => {:webma => {:format => 'webm'}
8
+ },:processors => [:ffmpeg]
9
+
10
+ def audioprocess
11
+ Resque.enqueue(Audioencoder, self.id)
12
+ end
13
+
14
+
3
15
  # Thumbnail file
4
16
  def thumb(size, helper)
5
17
  "#{ size.to_s }/audio.png"
6
18
  end
19
+
7
20
  end
@@ -3,7 +3,9 @@ class Document < ActiveRecord::Base
3
3
 
4
4
  IMAGE_FORMATS = ["doc","ppt","xls","rar","zip","mpeg","plain","pdf"]
5
5
 
6
- STYLE_FORMAT = {"webm" =>"webm", "flv"=>"flv", "thumb"=>"png", "thumb0"=>"png"}
6
+ STYLE_FORMAT = {"webm" =>"webm", "flv"=>"flv", "thumb"=>"png", "thumb0"=>"png", "webma"=>"webm"}
7
+
8
+ STYLE_MIMETYPE = {"webm" =>"video/webm", "flv"=>"video/x-flv", "thumb"=>"image/png", "thumb0"=>"image/png", "mp3"=>"audio/mpeg", "webma"=>"audio/webm"}
7
9
 
8
10
  has_attached_file :file,
9
11
  :url => '/:class/:id.:extension',
@@ -3,9 +3,11 @@
3
3
  $("#jpId<%=audio.id%>").jPlayer( {
4
4
  ready: function () {
5
5
  $(this).jPlayer("setMedia", {
6
- mp3: "<%= download_document_path(audio) %>" // Defines the mp3 url
6
+ webma: "<%= audio_path(audio) + "?style=webma" %>" // Defines the webma url
7
7
  });
8
8
  },
9
+ supplied: "webma",
10
+ preload: "none",
9
11
  swfPath: "assets",
10
12
  cssSelectorAncestor: "#jp_interface_<%=audio.id%>"
11
13
  });
@@ -0,0 +1,7 @@
1
+ class Audioencoder
2
+ @queue = :audios_queue
3
+ def self.perform(audio_id)
4
+ audio = Audio.find(audio_id)
5
+ Audio.file.reprocess!
6
+ end
7
+ end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "social_stream-documents"
3
- s.version = "0.2.3"
3
+ s.version = "0.2.4"
4
4
  s.authors = ["Víctor Sánchez Belmar", "GING - DIT - UPM"]
5
5
  s.summary = "File capabilities for Social Stream, the core for building social network websites"
6
6
  s.description = "Social Stream is a Ruby on Rails engine providing your application with social networking features and activity streams.\n\nThis gem allow you upload almost any kind of file as new social stream activity."
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social_stream-documents
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 31
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 3
10
- version: 0.2.3
9
+ - 4
10
+ version: 0.2.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - "V\xC3\xADctor S\xC3\xA1nchez Belmar"
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-08-01 00:00:00 Z
19
+ date: 2011-08-04 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: social_stream-base
@@ -255,6 +255,7 @@ files:
255
255
  - app/views/videos/destroy.js.erb
256
256
  - app/views/videos/index.html.erb
257
257
  - app/views/videos/show.html.erb
258
+ - app/worker/audioencoder.rb
258
259
  - app/worker/videoencoder.rb
259
260
  - config/locales/en.yml
260
261
  - config/routes.rb