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.
- data/base/app/models/like.rb +8 -3
- data/base/config/locales/en.yml +1 -0
- data/base/config/locales/es.yml +1 -0
- data/base/db/migrate/{20120111141717_create_social_stream.rb → 20120326083509_create_social_stream.rb} +33 -8
- data/base/lib/generators/social_stream/base/install_generator.rb +1 -1
- data/base/lib/social_stream/base/version.rb +1 -1
- data/base/lib/social_stream/controllers/objects.rb +4 -2
- data/base/lib/tasks/attachments.rake +22 -0
- data/base/social_stream-base.gemspec +4 -4
- data/base/spec/controllers/relation_customs_controller_spec.rb +2 -1
- data/base/spec/dummy/config/initializers/devise.rb +5 -11
- data/documents/app/controllers/documents_controller.rb +1 -0
- data/documents/app/models/audio.rb +3 -3
- data/documents/app/models/document.rb +1 -3
- data/documents/app/models/picture.rb +4 -7
- data/documents/app/models/video.rb +2 -9
- data/documents/app/views/videos/_video_show.html.erb +1 -1
- data/documents/db/migrate/{20120109155431_create_social_stream_documents.rb → 20120208143721_create_social_stream_documents.rb} +0 -2
- data/documents/lib/delayed_paperclip/social_stream-documents.rb +7 -12
- data/documents/lib/generators/social_stream/documents/install_generator.rb +4 -0
- data/documents/lib/generators/social_stream/documents/templates/initializer.rb +26 -0
- data/documents/lib/social_stream-documents.rb +29 -0
- data/documents/lib/social_stream/documents/dependencies.rb +0 -1
- data/documents/lib/social_stream/documents/version.rb +1 -1
- data/documents/social_stream-documents.gemspec +4 -4
- data/documents/spec/dummy/config/initializers/devise.rb +4 -4
- data/events/db/migrate/20120330131859_create_social_stream_events.rb +29 -6
- data/events/lib/social_stream/events/version.rb +1 -1
- data/events/social_stream-events.gemspec +1 -1
- data/lib/social_stream/version.rb +1 -1
- data/linkser/app/controllers/links_controller.rb +8 -0
- data/linkser/db/migrate/{20111219122952_create_social_stream_linkser.rb → 20120208143739_create_social_stream_linkser.rb} +2 -2
- data/linkser/lib/social_stream/linkser/version.rb +1 -1
- data/linkser/social_stream-linkser.gemspec +1 -1
- data/linkser/spec/dummy/config/initializers/devise.rb +5 -9
- data/ostatus/app/decorators/social_stream/base/contact_decorator.rb +3 -0
- data/ostatus/lib/social_stream-ostatus.rb +1 -0
- data/ostatus/lib/social_stream/ostatus/activity_streams.rb +4 -2
- data/ostatus/lib/social_stream/ostatus/models/contact.rb +64 -0
- data/ostatus/lib/social_stream/ostatus/models/tie.rb +9 -8
- data/ostatus/lib/social_stream/ostatus/version.rb +1 -1
- data/ostatus/social_stream-ostatus.gemspec +2 -2
- data/presence/db/migrate/20120330132148_create_social_stream_presence.rb +6 -7
- data/presence/lib/social_stream/presence/version.rb +1 -1
- data/presence/social_stream-presence.gemspec +1 -1
- data/social_stream.gemspec +6 -6
- data/spec/dummy/config/database.yml +2 -0
- data/spec/dummy/config/initializers/devise.rb +4 -8
- metadata +22 -33
- data/base/db/migrate/20120201185454_singleton_single_relations.rb +0 -46
- data/base/db/migrate/20120208135718_group_title_and_description_in_activity_object.rb +0 -54
- data/base/db/migrate/20120302215722_activity_object_properties.rb +0 -24
- data/base/db/migrate/20120316093946_create_activity_actions.rb +0 -15
- data/base/db/migrate/20120316113728_activity_action_follow.rb +0 -23
- data/base/db/migrate/20120326083509_object_channels_to_actions.rb +0 -47
- data/documents/db/migrate/20120208143721_documents_group_title_and_description_in_activity_object.rb +0 -28
- data/documents/lib/paperclip/social_stream-documents.rb +0 -62
- data/events/db/migrate/20111218203314_create_events.rb +0 -33
- data/events/db/migrate/20120208143756_events_group_title_and_description_in_activity_object.rb +0 -26
- data/events/db/migrate/20120208144948_add_events_foreign_key.rb +0 -9
- data/linkser/db/migrate/20120202104549_add_links_foreign_key.rb +0 -9
- data/linkser/db/migrate/20120208143739_linkser_group_title_and_description_in_activity_object.rb +0 -30
- data/presence/db/migrate/20110711111408_add_connected_column_to_user.rb +0 -9
- data/presence/db/migrate/20110928135031_add_status_column_to_user.rb +0 -9
- data/presence/db/migrate/20111116194112_add_chat_enabled_column_to_user.rb +0 -9
data/base/app/models/like.rb
CHANGED
@@ -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
|
-
|
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.
|
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
|
data/base/config/locales/en.yml
CHANGED
@@ -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}"
|
data/base/config/locales/es.yml
CHANGED
@@ -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",
|
29
|
-
t.integer "like_count",
|
30
|
-
t.integer "
|
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
|
-
|
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 "
|
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.
|
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
|
|
@@ -8,9 +8,11 @@ module SocialStream
|
|
8
8
|
|
9
9
|
before_filter :set_author_ids, :only => [ :new, :create, :update ]
|
10
10
|
|
11
|
-
|
11
|
+
before_filter :authenticate_user!, :only => [:new, :edit, :create, :update, :destroy]
|
12
12
|
|
13
|
-
|
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.
|
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.
|
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.
|
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
|
-
|
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.
|
@@ -1,9 +1,9 @@
|
|
1
1
|
class Audio < Document
|
2
2
|
has_attached_file :file,
|
3
|
-
:url => '/:class/:id.:
|
3
|
+
:url => '/:class/:id.:content_type_extension',
|
4
4
|
:path => ':rails_root/documents/:class/:id_partition/:style',
|
5
|
-
:styles =>
|
6
|
-
|
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.:
|
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.:
|
3
|
+
:url => '/:class/:id.:content_type_extension',
|
4
4
|
:path => ':rails_root/documents/:class/:id_partition/:style',
|
5
|
-
:styles =>
|
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.:
|
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/
|
1
|
+
# Monkey-patch https://github.com/jstorimer/delayed_paperclip/issues/67
|
2
2
|
#
|
3
|
-
# Remove with delayed_paperclip > 2.4.5.
|
3
|
+
# Remove with delayed_paperclip > 2.4.5.2 ???
|
4
4
|
require 'delayed_paperclip'
|
5
5
|
|
6
6
|
module DelayedPaperclip::Attachment::InstanceMethods
|
7
|
-
def
|
8
|
-
|
9
|
-
|
10
|
-
|
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
|