social_stream 0.29.0 → 0.30.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. data/base/app/models/like.rb +8 -3
  2. data/base/config/locales/en.yml +1 -0
  3. data/base/config/locales/es.yml +1 -0
  4. data/base/db/migrate/{20120111141717_create_social_stream.rb → 20120326083509_create_social_stream.rb} +33 -8
  5. data/base/lib/generators/social_stream/base/install_generator.rb +1 -1
  6. data/base/lib/social_stream/base/version.rb +1 -1
  7. data/base/lib/social_stream/controllers/objects.rb +4 -2
  8. data/base/lib/tasks/attachments.rake +22 -0
  9. data/base/social_stream-base.gemspec +4 -4
  10. data/base/spec/controllers/relation_customs_controller_spec.rb +2 -1
  11. data/base/spec/dummy/config/initializers/devise.rb +5 -11
  12. data/documents/app/controllers/documents_controller.rb +1 -0
  13. data/documents/app/models/audio.rb +3 -3
  14. data/documents/app/models/document.rb +1 -3
  15. data/documents/app/models/picture.rb +4 -7
  16. data/documents/app/models/video.rb +2 -9
  17. data/documents/app/views/videos/_video_show.html.erb +1 -1
  18. data/documents/db/migrate/{20120109155431_create_social_stream_documents.rb → 20120208143721_create_social_stream_documents.rb} +0 -2
  19. data/documents/lib/delayed_paperclip/social_stream-documents.rb +7 -12
  20. data/documents/lib/generators/social_stream/documents/install_generator.rb +4 -0
  21. data/documents/lib/generators/social_stream/documents/templates/initializer.rb +26 -0
  22. data/documents/lib/social_stream-documents.rb +29 -0
  23. data/documents/lib/social_stream/documents/dependencies.rb +0 -1
  24. data/documents/lib/social_stream/documents/version.rb +1 -1
  25. data/documents/social_stream-documents.gemspec +4 -4
  26. data/documents/spec/dummy/config/initializers/devise.rb +4 -4
  27. data/events/db/migrate/20120330131859_create_social_stream_events.rb +29 -6
  28. data/events/lib/social_stream/events/version.rb +1 -1
  29. data/events/social_stream-events.gemspec +1 -1
  30. data/lib/social_stream/version.rb +1 -1
  31. data/linkser/app/controllers/links_controller.rb +8 -0
  32. data/linkser/db/migrate/{20111219122952_create_social_stream_linkser.rb → 20120208143739_create_social_stream_linkser.rb} +2 -2
  33. data/linkser/lib/social_stream/linkser/version.rb +1 -1
  34. data/linkser/social_stream-linkser.gemspec +1 -1
  35. data/linkser/spec/dummy/config/initializers/devise.rb +5 -9
  36. data/ostatus/app/decorators/social_stream/base/contact_decorator.rb +3 -0
  37. data/ostatus/lib/social_stream-ostatus.rb +1 -0
  38. data/ostatus/lib/social_stream/ostatus/activity_streams.rb +4 -2
  39. data/ostatus/lib/social_stream/ostatus/models/contact.rb +64 -0
  40. data/ostatus/lib/social_stream/ostatus/models/tie.rb +9 -8
  41. data/ostatus/lib/social_stream/ostatus/version.rb +1 -1
  42. data/ostatus/social_stream-ostatus.gemspec +2 -2
  43. data/presence/db/migrate/20120330132148_create_social_stream_presence.rb +6 -7
  44. data/presence/lib/social_stream/presence/version.rb +1 -1
  45. data/presence/social_stream-presence.gemspec +1 -1
  46. data/social_stream.gemspec +6 -6
  47. data/spec/dummy/config/database.yml +2 -0
  48. data/spec/dummy/config/initializers/devise.rb +4 -8
  49. metadata +22 -33
  50. data/base/db/migrate/20120201185454_singleton_single_relations.rb +0 -46
  51. data/base/db/migrate/20120208135718_group_title_and_description_in_activity_object.rb +0 -54
  52. data/base/db/migrate/20120302215722_activity_object_properties.rb +0 -24
  53. data/base/db/migrate/20120316093946_create_activity_actions.rb +0 -15
  54. data/base/db/migrate/20120316113728_activity_action_follow.rb +0 -23
  55. data/base/db/migrate/20120326083509_object_channels_to_actions.rb +0 -47
  56. data/documents/db/migrate/20120208143721_documents_group_title_and_description_in_activity_object.rb +0 -28
  57. data/documents/lib/paperclip/social_stream-documents.rb +0 -62
  58. data/events/db/migrate/20111218203314_create_events.rb +0 -33
  59. data/events/db/migrate/20120208143756_events_group_title_and_description_in_activity_object.rb +0 -26
  60. data/events/db/migrate/20120208144948_add_events_foreign_key.rb +0 -9
  61. data/linkser/db/migrate/20120202104549_add_links_foreign_key.rb +0 -9
  62. data/linkser/db/migrate/20120208143739_linkser_group_title_and_description_in_activity_object.rb +0 -30
  63. data/presence/db/migrate/20110711111408_add_connected_column_to_user.rb +0 -9
  64. data/presence/db/migrate/20110928135031_add_status_column_to_user.rb +0 -9
  65. data/presence/db/migrate/20111116194112_add_chat_enabled_column_to_user.rb +0 -9
@@ -5,7 +5,8 @@ class Like
5
5
  class << self
6
6
  # Find the children activity of activity_id liked by subject
7
7
  def find(subject, object)
8
- like = new(object.liked_by(subject).first)
8
+ like = new(object.liked_by(subject).readonly(false).first)
9
+ return nil if like.object.nil?
9
10
  # Cache object to make it available before it is destroyed
10
11
  like.object
11
12
  like
@@ -18,7 +19,9 @@ class Like
18
19
  end
19
20
 
20
21
  def build(subject, user, object)
21
- new object.new_like(subject, user)
22
+ l = self.find(subject,object)
23
+ l = new object.new_like(subject, user) if l.nil?
24
+ l
22
25
  end
23
26
  end
24
27
 
@@ -34,7 +37,9 @@ class Like
34
37
  # The object that is liked. It can be an activity
35
38
  def object
36
39
  @object ||=
37
- if @like.is_root?
40
+ if @like.nil?
41
+ nil
42
+ elsif @like.is_root?
38
43
  obj = @like.direct_object
39
44
  obj = obj.subject if obj.is_a?(Actor)
40
45
  obj
@@ -66,6 +66,7 @@ en:
66
66
  atom_title: "Activity Stream from %{subject}"
67
67
  title:
68
68
  follow: "%{author} added %{activity_object} as contact"
69
+ unfollow: "%{author} removed %{activity_object} as contact"
69
70
  like: "%{author} likes %{activity_object}"
70
71
  make-friend: "%{author} also added %{activity_object} as contact"
71
72
  post: "%{author} posted %{activity_object}"
@@ -65,6 +65,7 @@ es:
65
65
  atom_title: "Actividades de %{subject}"
66
66
  title:
67
67
  follow: "%{author} añadió a %{activity_object} como contacto"
68
+ unfollow: "%{author} eliminó a %{activity_object} como contacto"
68
69
  like: "A %{author} le gusta %{activity_object}"
69
70
  make-friend: "%{author} también añadió a %{activity_object} como contacto"
70
71
  post: "%{author} publicó %{activity_object}"
@@ -11,6 +11,19 @@ class CreateSocialStream < ActiveRecord::Migration
11
11
  add_index "activities", ["activity_verb_id"], :name => "index_activities_on_activity_verb_id"
12
12
  add_index "activities", ["channel_id"], :name => "index_activities_on_channel_id"
13
13
 
14
+ create_table :activity_actions do |t|
15
+ t.references :actor
16
+ t.references :activity_object
17
+ t.boolean :follow, :default => false
18
+ t.boolean :author, :default => false
19
+ t.boolean :user_author, :default => false
20
+ t.boolean :owner, :default => false
21
+
22
+ t.timestamps
23
+ end
24
+ add_index :activity_actions, :actor_id
25
+ add_index :activity_actions, :activity_object_id
26
+
14
27
  create_table "activity_object_activities", :force => true do |t|
15
28
  t.integer "activity_id"
16
29
  t.integer "activity_object_id"
@@ -23,14 +36,25 @@ class CreateSocialStream < ActiveRecord::Migration
23
36
  add_index "activity_object_activities", ["activity_object_id"], :name => "index_activity_object_activities_on_activity_object_id"
24
37
 
25
38
  create_table "activity_objects", :force => true do |t|
39
+ t.string "title", :default => ""
40
+ t.text "description"
26
41
  t.datetime "created_at"
27
42
  t.datetime "updated_at"
28
- t.string "object_type", :limit => 45
29
- t.integer "like_count", :default => 0
30
- t.integer "channel_id"
43
+ t.string "object_type", :limit => 45
44
+ t.integer "like_count", :default => 0
45
+ t.integer "follower_count", :default => 0
31
46
  end
32
47
 
33
- add_index "activity_objects", ["channel_id"], :name => "index_activity_objects_on_channel_id"
48
+ create_table :activity_object_properties do |t|
49
+ t.integer :activity_object_id
50
+ t.integer :property_id
51
+ t.string :type
52
+
53
+ t.timestamp
54
+ end
55
+
56
+ add_index "activity_object_properties", "activity_object_id"
57
+ add_index "activity_object_properties", "property_id"
34
58
 
35
59
  create_table "activity_verbs", :force => true do |t|
36
60
  t.string "name", :limit => 45
@@ -47,7 +71,6 @@ class CreateSocialStream < ActiveRecord::Migration
47
71
  t.datetime "created_at"
48
72
  t.datetime "updated_at"
49
73
  t.integer "activity_object_id"
50
- t.integer "follower_count", :default => 0
51
74
  end
52
75
 
53
76
  add_index "actors", ["activity_object_id"], :name => "index_actors_on_activity_object_id"
@@ -97,7 +120,6 @@ class CreateSocialStream < ActiveRecord::Migration
97
120
 
98
121
  create_table "comments", :force => true do |t|
99
122
  t.integer "activity_object_id"
100
- t.text "text"
101
123
  t.datetime "created_at"
102
124
  t.datetime "updated_at"
103
125
  end
@@ -136,7 +158,6 @@ class CreateSocialStream < ActiveRecord::Migration
136
158
  t.integer "activity_object_id"
137
159
  t.datetime "created_at"
138
160
  t.datetime "updated_at"
139
- t.text "text"
140
161
  end
141
162
 
142
163
  add_index "posts", ["activity_object_id"], :name => "index_posts_on_activity_object_id"
@@ -223,10 +244,14 @@ class CreateSocialStream < ActiveRecord::Migration
223
244
  add_foreign_key "activities", "activity_verbs", :name => "index_activities_on_activity_verb_id"
224
245
  add_foreign_key "activities", "channels", :name => "index_activities_on_channel_id"
225
246
 
247
+ add_foreign_key "activity_actions", "actors", :name => "index_activity_actions_on_actor_id"
248
+ add_foreign_key "activity_actions", "activity_objects", :name => "index_activity_actions_on_activity_object_id"
249
+
226
250
  add_foreign_key "activity_object_activities", "activities", :name => "index_activity_object_activities_on_activity_id"
227
251
  add_foreign_key "activity_object_activities", "activity_objects", :name => "activity_object_activities_on_activity_object_id"
228
252
 
229
- add_foreign_key "activity_objects", "channels", :name => "index_activity_objects_on_channel_id"
253
+ add_foreign_key "activity_object_properties", "activity_objects", :name => "index_activity_object_properties_on_activity_object_id", :column => :activity_object_id
254
+ add_foreign_key "activity_object_properties", "activity_objects", :name => "index_activity_object_properties_on_property_id", :column => :property_id
230
255
 
231
256
  add_foreign_key "actors", "activity_objects", :name => "actors_on_activity_object_id"
232
257
 
@@ -13,7 +13,7 @@ class SocialStream::Base::InstallGenerator < Rails::Generators::Base #:nodoc:
13
13
  \n config.omniauth :facebook, \"129571360447856\",\"eef39dce5e20e76f77495c59623bdb38\"
14
14
  \n #config.omniauth :twitter, \"wgTxO0fTpjTeSnjKC9ZHA\",\"JepulVWwLcuAnGfWjwCu47yEP0TcJJfKtvISPBsilI\"
15
15
  \n config.token_authentication_key = :auth_token
16
- \n config.stateless_token = true",
16
+ \n config.skip_session_storage << :token_auth",
17
17
  :after => " # config.omniauth :github, 'APP_ID', 'APP_SECRET', :scope => 'user,public_repo'"
18
18
  end
19
19
 
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Base
3
- VERSION = "0.23.0".freeze
3
+ VERSION = "0.24.0".freeze
4
4
  end
5
5
  end
@@ -8,9 +8,11 @@ module SocialStream
8
8
 
9
9
  before_filter :set_author_ids, :only => [ :new, :create, :update ]
10
10
 
11
- after_filter :increment_visit_count, :only => :show
11
+ before_filter :authenticate_user!, :only => [:new, :edit, :create, :update, :destroy]
12
12
 
13
- load_and_authorize_resource :except => [ :index, :search ]
13
+ after_filter :increment_visit_count, :only => :show
14
+
15
+ load_and_authorize_resource :except => [ :new, :index, :search ]
14
16
 
15
17
  respond_to :html, :js
16
18
 
@@ -0,0 +1,22 @@
1
+ namespace :social_stream do
2
+ namespace :avatars do
3
+ desc "Fix avatar's attachment path from paperclip < 3.0"
4
+ task :fix => :environment do
5
+ dir = "#{ Rails.root }/public/system/logos/"
6
+
7
+ Avatar.all.each do |a|
8
+ old_logo_dir = "#{ dir }#{ a.id }/"
9
+
10
+ old_logo_contents = Dir["#{ old_logo_dir }*"]
11
+
12
+ new_logo_dir = "#{ Rails.root }/public#{ a.logo.to_s.split('original').first }"
13
+
14
+ puts "Moving #{ old_logo_dir } to #{ new_logo_dir }"
15
+
16
+ FileUtils.mkdir_p new_logo_dir
17
+ FileUtils.mv old_logo_contents, new_logo_dir
18
+ end
19
+ end
20
+ end
21
+ end
22
+
@@ -26,17 +26,17 @@ Gem::Specification.new do |s|
26
26
  # SQL foreign keys
27
27
  s.add_runtime_dependency('foreigner', '~> 1.1.1')
28
28
  # Authentication
29
- s.add_runtime_dependency('devise', '~> 1.5.3')
29
+ s.add_runtime_dependency('devise', '~> 2.1.2')
30
30
  # CRUD controllers
31
31
  s.add_runtime_dependency('inherited_resources', '~> 1.3.0')
32
32
  # Slug generation
33
33
  s.add_runtime_dependency('stringex', '~> 1.3.0')
34
34
  # Avatar attachments
35
- s.add_runtime_dependency('avatars_for_rails', '~> 0.2.5')
35
+ s.add_runtime_dependency('avatars_for_rails', '~> 0.2.8')
36
36
  # jQuery
37
37
  s.add_runtime_dependency('jquery-rails', '>= 1.0.9')
38
38
  # Authorization
39
- s.add_runtime_dependency('cancan', '1.6.7')
39
+ s.add_runtime_dependency('cancan', '~> 1.6.7')
40
40
  # Pagination
41
41
  s.add_runtime_dependency('kaminari', '~> 0.13.0')
42
42
  # OAuth client
@@ -50,7 +50,7 @@ Gem::Specification.new do |s|
50
50
  # HTML Forms
51
51
  s.add_runtime_dependency('formtastic','>= 1.2.3')
52
52
  # Background jobs
53
- s.add_runtime_dependency('resque','~> 1.20.0')
53
+ s.add_runtime_dependency('resque','~> 1.23.0')
54
54
  # Modernizr.js javascript library
55
55
  s.add_runtime_dependency('modernizr-rails', '~> 2.0.6')
56
56
  # Sphinx search engine
@@ -74,7 +74,8 @@ describe Relation::CustomsController do
74
74
  begin
75
75
  post :create, :custom => { :name => 'Test', :actor_id => actor.id }
76
76
 
77
- assert false
77
+ assigns(:custom).should_not be_new_record
78
+ assigns(:custom).actor_id.should eq(@user.actor_id)
78
79
  rescue CanCan::AccessDenied
79
80
  assigns(:custom).should be_new_record
80
81
 
@@ -93,10 +93,6 @@ Devise.setup do |config|
93
93
  # If true, extends the user's remember period when remembered via cookie.
94
94
  # config.extend_remember_period = false
95
95
 
96
- # If true, uses the password salt as remember token. This should be turned
97
- # to false if you are not using database authenticatable.
98
- config.use_salt_as_remember_token = true
99
-
100
96
  # Options to be passed to the created cookie. For instance, you can set
101
97
  # :secure => true in order to force SSL only cookies.
102
98
  # config.cookie_options = {}
@@ -159,11 +155,7 @@ Devise.setup do |config|
159
155
  # ==> Configuration for :token_authenticatable
160
156
  # Defines name of the authentication token params key
161
157
  # config.token_authentication_key = :auth_token
162
-
163
- # If true, authentication through token does not store user in session and needs
164
- # to be supplied on each request. Useful if you are using the token as API token.
165
- # config.stateless_token = false
166
-
158
+
167
159
  # ==> Scopes configuration
168
160
  # Turn scoped views on. Before rendering "sessions/new", it will first check for
169
161
  # "users/sessions/new". It's turned off by default because it's slower if you
@@ -205,9 +197,11 @@ Devise.setup do |config|
205
197
  #config.omniauth :twitter, "wgTxO0fTpjTeSnjKC9ZHA","JepulVWwLcuAnGfWjwCu47yEP0TcJJfKtvISPBsilI"
206
198
 
207
199
  config.token_authentication_key = :auth_token
208
-
209
- config.stateless_token = true
210
200
 
201
+ #re state_less token removal
202
+ #https://github.com/plataformatec/devise/issues/1499
203
+ config.skip_session_storage << :token_auth
204
+
211
205
  # ==> Warden configuration
212
206
  # If you want to use other strategies, that are not supported by Devise, or
213
207
  # change the failure app, you can configure them inside the config.warden block.
@@ -20,6 +20,7 @@ class DocumentsController < ApplicationController
20
20
  def create
21
21
  super do |format|
22
22
  format.json { render :json => resource }
23
+ format.js
23
24
  format.all {redirect_to request.referer || home_path}
24
25
  end
25
26
  end
@@ -1,9 +1,9 @@
1
1
  class Audio < Document
2
2
  has_attached_file :file,
3
- :url => '/:class/:id.:extension',
3
+ :url => '/:class/:id.:content_type_extension',
4
4
  :path => ':rails_root/documents/:class/:id_partition/:style',
5
- :styles => {:webma => {:format => 'webm'}
6
- },:processors => [:ffmpeg]
5
+ :styles => SocialStream::Documents.audio_styles,
6
+ :processors => [ :ffmpeg ]
7
7
 
8
8
  process_in_background :file
9
9
 
@@ -4,7 +4,7 @@ class Document < ActiveRecord::Base
4
4
  IMAGE_FORMATS = ["doc","ppt","xls","rar","zip","mpeg","plain","pdf"]
5
5
 
6
6
  has_attached_file :file,
7
- :url => '/:class/:id.:extension',
7
+ :url => '/:class/:id.:content_type_extension',
8
8
  :path => ':rails_root/documents/:class/:id_partition/:style/:filename.:extension'
9
9
 
10
10
  paginates_per 20
@@ -82,5 +82,3 @@ class Document < ActiveRecord::Base
82
82
  self.title = file_file_name if self.title.blank?
83
83
  end
84
84
  end
85
-
86
- ActiveSupport.run_load_hooks(:document, Document)
@@ -1,13 +1,8 @@
1
1
  class Picture < Document
2
2
  has_attached_file :file,
3
- :url => '/:class/:id.:extension',
3
+ :url => '/:class/:id.:content_type_extension',
4
4
  :path => ':rails_root/documents/:class/:id_partition/:style',
5
- :styles => {:thumb48sq => ["48x48"],
6
- :thumbwall => ["130x97#"],
7
- # midwall preserves A4 proportion: 210x297
8
- :midwall => ["80x113#"],
9
- :preview => ["500>"]
10
- }
5
+ :styles => SocialStream::Documents.picture_styles
11
6
 
12
7
  define_index do
13
8
  activity_object_index
@@ -28,6 +23,8 @@ class Picture < Document
28
23
  helper.picture_path self, :format => format, :style => 'thumbwall'
29
24
  when 500
30
25
  helper.picture_path self, :format => format, :style => 'preview'
26
+ when 1000
27
+ helper.picture_path self, :format => format, :style => 'original'
31
28
  end
32
29
  end
33
30
 
@@ -1,16 +1,9 @@
1
1
  class Video < Document
2
2
  has_attached_file :file,
3
- :url => '/:class/:id.:extension',
3
+ :url => '/:class/:id.:content_type_extension',
4
4
  :default_url => 'missing_:style.png',
5
5
  :path => ':rails_root/documents/:class/:id_partition/:style',
6
- :styles => {
7
- :webm => {:format => 'webm'},
8
- :flv => {:format => 'flv'},
9
- :mp4 => {:format => 'mp4'},
10
- :poster => {:format => 'png', :time => 5},
11
- :thumb48sq => {:geometry => "48x48" , :format => 'png', :time => 5},
12
- :thumbwall => {:geometry => "130x97#", :format => 'png', :time => 5}
13
- },
6
+ :styles => SocialStream::Documents.video_styles,
14
7
  :processors => [:ffmpeg]
15
8
 
16
9
  process_in_background :file
@@ -53,7 +53,7 @@
53
53
  ready: function () {
54
54
  $(this).jPlayer("setMedia", {
55
55
  webmv: "<%= video_url(video, :format => 'webm' ) %>", // Defines the webm url
56
- flv: "<%= video_url(video, :format => 'flv') %>"
56
+ flv: "<%= video_url(video, :format => 'flv') %>",
57
57
  mp4: "<%= video_url(video, :format => 'mp4') %>"
58
58
  });
59
59
  },
@@ -10,8 +10,6 @@ class CreateSocialStreamDocuments < ActiveRecord::Migration
10
10
  t.string "file_content_type"
11
11
  t.string "file_file_size"
12
12
  t.boolean "file_processing"
13
- t.string "title"
14
- t.text "description"
15
13
  end
16
14
 
17
15
  add_index "documents", ["activity_object_id"], :name => "index_documents_on_activity_object_id"
@@ -1,18 +1,13 @@
1
- # Monkey-patch https://github.com/jstorimer/delayed_paperclip/commit/3e0e3451147e96f378cda4695546d9633944cc5c
1
+ # Monkey-patch https://github.com/jstorimer/delayed_paperclip/issues/67
2
2
  #
3
- # Remove with delayed_paperclip > 2.4.5.1
3
+ # Remove with delayed_paperclip > 2.4.5.2 ???
4
4
  require 'delayed_paperclip'
5
5
 
6
6
  module DelayedPaperclip::Attachment::InstanceMethods
7
- def post_process_styles_with_processing(*args)
8
- post_process_styles_without_processing(*args)
9
-
10
- # update_column is available in rails 3.1 instead we can do this to update the attribute without callbacks
11
-
12
- #instance.update_column("#{name}_processing", false) if instance.respond_to?(:"#{name}_processing?")
13
- if instance.respond_to?(:"#{name}_processing?")
14
- instance.send("#{name}_processing=", false)
15
- instance.class.update_all({ "#{name}_processing" => false }, instance.class.primary_key => instance.id)
16
- end
7
+ def process_delayed!
8
+ self.job_is_processing = true
9
+ self.post_processing = true
10
+ reprocess!
11
+ self.job_is_processing = false
17
12
  end
18
13
  end
@@ -3,6 +3,10 @@ class SocialStream::Documents::InstallGenerator < Rails::Generators::Base
3
3
 
4
4
  source_root File.expand_path('../templates', __FILE__)
5
5
 
6
+ def create_initializer_file
7
+ template 'initializer.rb', 'config/initializers/social_stream-documents.rb'
8
+ end
9
+
6
10
  def create_migration_file
7
11
  require 'rake'
8
12
  Rails.application.load_tasks
@@ -0,0 +1,26 @@
1
+ SocialStream::Documents.setup do |config|
2
+ # Configure picture thumbnails
3
+ #
4
+ # config.picture_styles = {
5
+ # :thumb48sq => ["48x48"],
6
+ # :thumbwall => ["130x97#"],
7
+ # # midwall preserves A4 proportion: 210x297
8
+ # :midwall => ["80x113#"],
9
+ # :preview => ["500>"]
10
+ # }
11
+
12
+ # Configure audio thumbnails
13
+ #
14
+ # config.audio_styles = { :webma => {:format => 'webm'} }
15
+
16
+ # Configure video thumbnails
17
+ #
18
+ # @@video_styles = {
19
+ # :webm => { :format => 'webm' },
20
+ # :flv => { :format => 'flv' },
21
+ # :mp4 => { :format => 'mp4' },
22
+ # :poster => { :format => 'png', :time => 5 },
23
+ # :thumb48sq => { :geometry => "48x48" , :format => 'png', :time => 5 },
24
+ # :thumbwall => { :geometry => "130x97#", :format => 'png', :time => 5 }
25
+ # }
26
+ end