social_stream 0.29.0 → 0.30.0
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.
- 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
@@ -8,6 +8,35 @@ module SocialStream
|
|
8
8
|
end
|
9
9
|
|
10
10
|
module Documents
|
11
|
+
# Picture thumbnails
|
12
|
+
mattr_accessor :picture_styles
|
13
|
+
@@picture_styles = {
|
14
|
+
:thumb48sq => ["48x48"],
|
15
|
+
:thumbwall => ["130x97#"],
|
16
|
+
# midwall preserves A4 proportion: 210x297
|
17
|
+
:midwall => ["80x113#"],
|
18
|
+
:preview => ["500>"]
|
19
|
+
}
|
20
|
+
|
21
|
+
mattr_accessor :audio_styles
|
22
|
+
@@audio_styles = { :webma => {:format => 'webm'} }
|
23
|
+
|
24
|
+
mattr_accessor :video_styles
|
25
|
+
@@video_styles = {
|
26
|
+
:webm => { :format => 'webm' },
|
27
|
+
:flv => { :format => 'flv' },
|
28
|
+
:mp4 => { :format => 'mp4' },
|
29
|
+
:poster => { :format => 'png', :time => 5 },
|
30
|
+
:thumb48sq => { :geometry => "48x48" , :format => 'png', :time => 5 },
|
31
|
+
:thumbwall => { :geometry => "130x97#", :format => 'png', :time => 5 }
|
32
|
+
}
|
33
|
+
|
34
|
+
class << self
|
35
|
+
def setup
|
36
|
+
yield self
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
11
40
|
# Add :document to SocialStream.objects and SocialStream.activity_forms by default
|
12
41
|
# It can be configured by users at application's config/initializers/social_stream.rb
|
13
42
|
[ :picture, :video, :audio, :document].each do |o|
|
@@ -12,10 +12,10 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.files = `git ls-files`.split("\n")
|
13
13
|
|
14
14
|
# Gem dependencies
|
15
|
-
s.add_runtime_dependency('social_stream-base', '~> 0.
|
16
|
-
s.add_runtime_dependency('paperclip
|
17
|
-
s.add_runtime_dependency('paperclip','
|
18
|
-
s.add_runtime_dependency('delayed_paperclip','2.4.5.
|
15
|
+
s.add_runtime_dependency('social_stream-base', '~> 0.24.0')
|
16
|
+
s.add_runtime_dependency('paperclip','~> 3.3.0')
|
17
|
+
s.add_runtime_dependency('paperclip-ffmpeg', '~> 0.9.0')
|
18
|
+
s.add_runtime_dependency('delayed_paperclip','>= 2.4.5.2')
|
19
19
|
# Development Gem dependencies
|
20
20
|
s.add_development_dependency('sqlite3-ruby')
|
21
21
|
if RUBY_VERSION < '1.9'
|
@@ -72,10 +72,6 @@ Devise.setup do |config|
|
|
72
72
|
# If true, extends the user's remember period when remembered via cookie.
|
73
73
|
# config.extend_remember_period = false
|
74
74
|
|
75
|
-
# If true, uses the password salt as remember token. This should be turned
|
76
|
-
# to false if you are not using database authenticatable.
|
77
|
-
config.use_salt_as_remember_token = true
|
78
|
-
|
79
75
|
# ==> Configuration for :validatable
|
80
76
|
# Range for password length. Default is 6..20.
|
81
77
|
# config.password_length = 6..20
|
@@ -163,6 +159,10 @@ Devise.setup do |config|
|
|
163
159
|
config.omniauth :linkedin, "ekxfXU8nueVSMQ9fc5KJAryBkyztUlCBYMW3DoQPzbE79WhivvzhQloRNHCHgPeB", "WYiHFT-KKFgjd45W3-pEAficmXRHmN6_6DGwj1C_ZILJlSO1gBvv6VNYXU9tybGY"
|
164
160
|
|
165
161
|
config.omniauth :facebook, "129571360447856","eef39dce5e20e76f77495c59623bdb38"
|
162
|
+
|
163
|
+
#re state_less token removal
|
164
|
+
#https://github.com/plataformatec/devise/issues/1499
|
165
|
+
config.skip_session_storage << :token_auth
|
166
166
|
|
167
167
|
# ==> Warden configuration
|
168
168
|
# If you want to use other strategies, that are not supported by Devise, or
|
@@ -1,10 +1,33 @@
|
|
1
|
-
# SocialStream migrations live at least 10 minor versions.
|
2
|
-
# Then they are merged.
|
3
|
-
# This is a placeholder migration to merge SocialStreamEvents' migrations
|
4
1
|
class CreateSocialStreamEvents < ActiveRecord::Migration
|
5
|
-
def
|
6
|
-
|
2
|
+
def change
|
3
|
+
create_table "events", :force => true do |t|
|
4
|
+
t.integer "activity_object_id"
|
5
|
+
t.datetime "start_at"
|
6
|
+
t.datetime "end_at"
|
7
|
+
t.boolean "all_day"
|
8
|
+
t.datetime "created_at", :null => false
|
9
|
+
t.datetime "updated_at", :null => false
|
10
|
+
t.integer "room_id"
|
11
|
+
t.date "start_date"
|
12
|
+
t.date "end_date"
|
13
|
+
t.integer "frequency", :default => 0
|
14
|
+
t.integer "interval"
|
15
|
+
t.integer "days", :default => 0
|
16
|
+
t.integer "interval_flag", :default => 0
|
17
|
+
end
|
18
|
+
|
19
|
+
add_index "events", ["room_id"], :name => "index_events_on_room_id"
|
20
|
+
|
21
|
+
create_table "rooms", :force => true do |t|
|
22
|
+
t.integer "actor_id"
|
23
|
+
t.string "name"
|
24
|
+
t.datetime "created_at", :null => false
|
25
|
+
t.datetime "updated_at", :null => false
|
26
|
+
end
|
27
|
+
|
28
|
+
add_index "rooms", ["actor_id"], :name => "index_rooms_on_actor_id"
|
7
29
|
|
8
|
-
|
30
|
+
add_foreign_key "events", "activity_objects", :name => "events_on_activity_object_id"
|
31
|
+
add_foreign_key "events", "rooms", :name => "index_events_on_room_id"
|
9
32
|
end
|
10
33
|
end
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.files = `git ls-files`.split("\n")
|
13
13
|
|
14
14
|
# Gem dependencies
|
15
|
-
s.add_runtime_dependency('social_stream-base', '~> 0.
|
15
|
+
s.add_runtime_dependency('social_stream-base', '~> 0.24.0')
|
16
16
|
s.add_runtime_dependency('rails-scheduler', '~> 0.0.8')
|
17
17
|
|
18
18
|
# Development Gem dependencies
|
@@ -1,3 +1,11 @@
|
|
1
1
|
class LinksController < ApplicationController
|
2
2
|
include SocialStream::Controllers::Objects
|
3
|
+
|
4
|
+
def create
|
5
|
+
super do |format|
|
6
|
+
format.json { render :json => resource }
|
7
|
+
format.js { render }
|
8
|
+
format.all {redirect_to link_path(resource) || home_path}
|
9
|
+
end
|
10
|
+
end
|
3
11
|
end
|
@@ -6,13 +6,13 @@ class CreateSocialStreamLinkser < ActiveRecord::Migration
|
|
6
6
|
t.datetime "updated_at"
|
7
7
|
t.string "url"
|
8
8
|
t.string "callback_url"
|
9
|
-
t.string "title"
|
10
9
|
t.string "image"
|
11
|
-
t.text "description"
|
12
10
|
t.integer "width", :default => 470
|
13
11
|
t.integer "height", :default => 353
|
14
12
|
end
|
15
13
|
|
16
14
|
add_index "links", ["activity_object_id"], :name => "index_links_on_activity_object_id"
|
15
|
+
|
16
|
+
add_foreign_key "links", "activity_objects", :name => "links_on_activity_object_id"
|
17
17
|
end
|
18
18
|
end
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.files = `git ls-files`.split("\n")
|
13
13
|
|
14
14
|
# Gem dependencies
|
15
|
-
s.add_runtime_dependency('social_stream-base', '~> 0.
|
15
|
+
s.add_runtime_dependency('social_stream-base', '~> 0.24.0')
|
16
16
|
s.add_runtime_dependency('linkser', '~> 0.0.12')
|
17
17
|
# Development Gem dependencies
|
18
18
|
s.add_development_dependency('sqlite3-ruby')
|
@@ -72,10 +72,6 @@ Devise.setup do |config|
|
|
72
72
|
# If true, extends the user's remember period when remembered via cookie.
|
73
73
|
# config.extend_remember_period = false
|
74
74
|
|
75
|
-
# If true, uses the password salt as remember token. This should be turned
|
76
|
-
# to false if you are not using database authenticatable.
|
77
|
-
config.use_salt_as_remember_token = true
|
78
|
-
|
79
75
|
# ==> Configuration for :validatable
|
80
76
|
# Range for password length. Default is 6..20.
|
81
77
|
# config.password_length = 6..20
|
@@ -122,11 +118,7 @@ Devise.setup do |config|
|
|
122
118
|
# ==> Configuration for :token_authenticatable
|
123
119
|
# Defines name of the authentication token params key
|
124
120
|
# config.token_authentication_key = :auth_token
|
125
|
-
|
126
|
-
# If true, authentication through token does not store user in session and needs
|
127
|
-
# to be supplied on each request. Useful if you are using the token as API token.
|
128
|
-
# config.stateless_token = false
|
129
|
-
|
121
|
+
|
130
122
|
# ==> Scopes configuration
|
131
123
|
# Turn scoped views on. Before rendering "sessions/new", it will first check for
|
132
124
|
# "users/sessions/new". It's turned off by default because it's slower if you
|
@@ -163,6 +155,10 @@ Devise.setup do |config|
|
|
163
155
|
config.omniauth :linkedin, "ekxfXU8nueVSMQ9fc5KJAryBkyztUlCBYMW3DoQPzbE79WhivvzhQloRNHCHgPeB", "WYiHFT-KKFgjd45W3-pEAficmXRHmN6_6DGwj1C_ZILJlSO1gBvv6VNYXU9tybGY"
|
164
156
|
|
165
157
|
config.omniauth :facebook, "129571360447856","eef39dce5e20e76f77495c59623bdb38"
|
158
|
+
|
159
|
+
#re state_less token removal
|
160
|
+
#https://github.com/plataformatec/devise/issues/1499
|
161
|
+
config.skip_session_storage << :token_auth
|
166
162
|
|
167
163
|
# ==> Warden configuration
|
168
164
|
# If you want to use other strategies, that are not supported by Devise, or
|
@@ -34,6 +34,7 @@ module SocialStream
|
|
34
34
|
autoload :Activity, 'social_stream/ostatus/models/activity'
|
35
35
|
autoload :Actor, 'social_stream/ostatus/models/actor'
|
36
36
|
autoload :Audience, 'social_stream/ostatus/models/audience'
|
37
|
+
autoload :Contact, 'social_stream/ostatus/models/contact'
|
37
38
|
autoload :Tie, 'social_stream/ostatus/models/tie'
|
38
39
|
|
39
40
|
module Object
|
@@ -21,8 +21,10 @@ module SocialStream
|
|
21
21
|
# FIXME: should not use to_sym
|
22
22
|
# https://github.com/shf/proudhon/issues/7
|
23
23
|
case entry.verb.to_sym
|
24
|
-
when :follow
|
25
|
-
Tie.
|
24
|
+
when :follow, :subscribe, :join
|
25
|
+
Tie.create_from_entry! entry, receiver
|
26
|
+
when :unsubscribe, :leave, 'http://ostatus.org/schema/1.0/unfollow'
|
27
|
+
Tie.destroy_from_entry! entry, receiver
|
26
28
|
else
|
27
29
|
# :post is the default verb
|
28
30
|
r = record_from_entry! entry, receiver
|
@@ -0,0 +1,64 @@
|
|
1
|
+
module SocialStream
|
2
|
+
module Ostatus
|
3
|
+
module Models
|
4
|
+
module Contact
|
5
|
+
extend ActiveSupport::Concern
|
6
|
+
|
7
|
+
included do
|
8
|
+
# FIXME: hack, this overwrites base definition, see there
|
9
|
+
# for the reasons related to after_destroy callbacks
|
10
|
+
alias_method_chain :unset_follow_action, :salmon
|
11
|
+
end
|
12
|
+
|
13
|
+
module ClassMethods
|
14
|
+
# Find contact from OStatus entry
|
15
|
+
def from_entry! entry, receiver
|
16
|
+
# Sender must be remote
|
17
|
+
sender = RemoteSubject.find_or_create_by_webfinger_uri! entry.author.uri
|
18
|
+
|
19
|
+
contact = sender.contact_to!(receiver)
|
20
|
+
|
21
|
+
# FIXME: hack
|
22
|
+
contact.user_author = sender
|
23
|
+
|
24
|
+
contact
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# Send Salmon notification
|
29
|
+
#
|
30
|
+
# FIXME DRY with activity.rb
|
31
|
+
def unset_follow_action_with_salmon(relation)
|
32
|
+
unset_follow_action_without_salmon(relation)
|
33
|
+
|
34
|
+
return if sender.subject_type == "RemoteSubject" ||
|
35
|
+
receiver.subject_type != "RemoteSubject"
|
36
|
+
|
37
|
+
title = I18n.t "activity.stream.title.unfollow",
|
38
|
+
author: sender_subject.name,
|
39
|
+
activity_object: receiver_subject.name
|
40
|
+
|
41
|
+
entry =
|
42
|
+
Proudhon::Entry.new id: "tag:#{ SocialStream::Ostatus.activity_feed_host },2005:contact-destroy-#{ id }",
|
43
|
+
title: title,
|
44
|
+
content: title,
|
45
|
+
verb: 'http://ostatus.org/schema/1.0/unfollow',
|
46
|
+
author: Proudhon::Author.new(name: sender.name,
|
47
|
+
uri: sender.webfinger_uri)
|
48
|
+
salmon = entry.to_salmon
|
49
|
+
|
50
|
+
if SocialStream::Ostatus.debug_requests
|
51
|
+
logger.info entry.to_xml
|
52
|
+
end
|
53
|
+
|
54
|
+
# FIXME: Rails 4 queues
|
55
|
+
Thread.new do
|
56
|
+
salmon.deliver receiver_subject.salmon_url, sender.rsa_key
|
57
|
+
|
58
|
+
ActiveRecord::Base.connection.close
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -6,16 +6,17 @@ module SocialStream
|
|
6
6
|
|
7
7
|
module ClassMethods
|
8
8
|
# Create a new {Tie} from OStatus entry
|
9
|
-
def
|
10
|
-
|
11
|
-
|
9
|
+
def create_from_entry! entry, receiver
|
10
|
+
contact = ::Contact.from_entry! entry, receiver
|
11
|
+
|
12
|
+
contact.relation_ids = [::Relation::Public.instance.id]
|
13
|
+
end
|
12
14
|
|
13
|
-
|
15
|
+
# Remove all {Tie} from OStatus entry
|
16
|
+
def destroy_from_entry! entry, receiver
|
17
|
+
contact = ::Contact.from_entry! entry, receiver
|
14
18
|
|
15
|
-
|
16
|
-
contact.user_author = sender
|
17
|
-
|
18
|
-
contact.relation_ids = [::Relation::Public.instance.id]
|
19
|
+
contact.relation_ids = []
|
19
20
|
end
|
20
21
|
end
|
21
22
|
end
|
@@ -12,8 +12,8 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.files = `git ls-files`.split("\n")
|
13
13
|
|
14
14
|
# Gem dependencies
|
15
|
-
s.add_runtime_dependency('social_stream-base', '~> 0.
|
16
|
-
s.add_runtime_dependency('proudhon','>= 0.3.
|
15
|
+
s.add_runtime_dependency('social_stream-base', '~> 0.24.0')
|
16
|
+
s.add_runtime_dependency('proudhon','>= 0.3.6')
|
17
17
|
s.add_runtime_dependency('nokogiri','> 1.4.4')
|
18
18
|
|
19
19
|
# Development Gem dependencies
|
@@ -1,10 +1,9 @@
|
|
1
|
-
# SocialStream migrations live at least 10 minor versions.
|
2
|
-
# Then they are merged.
|
3
|
-
# This is a placeholder migration to merge SocialStreamPresence' migrations
|
4
1
|
class CreateSocialStreamPresence < ActiveRecord::Migration
|
5
|
-
def
|
6
|
-
|
7
|
-
|
8
|
-
|
2
|
+
def change
|
3
|
+
change_table :users do |t|
|
4
|
+
t.boolean :connected, :default => false
|
5
|
+
t.string :status, :default => "available"
|
6
|
+
t.boolean :chat_enabled, :default => true
|
7
|
+
end
|
9
8
|
end
|
10
9
|
end
|
data/social_stream.gemspec
CHANGED
@@ -11,12 +11,12 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.files = `git ls-files`.split("\n")
|
12
12
|
|
13
13
|
# Gem dependencies
|
14
|
-
s.add_runtime_dependency('social_stream-base', '~> 0.
|
15
|
-
s.add_runtime_dependency('social_stream-documents', '~> 0.
|
16
|
-
s.add_runtime_dependency('social_stream-events', '~> 0.
|
17
|
-
s.add_runtime_dependency('social_stream-linkser', '~> 0.
|
18
|
-
s.add_runtime_dependency('social_stream-presence', '~> 0.
|
19
|
-
s.add_runtime_dependency('social_stream-ostatus', '~> 0.
|
14
|
+
s.add_runtime_dependency('social_stream-base', '~> 0.24.0')
|
15
|
+
s.add_runtime_dependency('social_stream-documents', '~> 0.18.0')
|
16
|
+
s.add_runtime_dependency('social_stream-events', '~> 0.16.0')
|
17
|
+
s.add_runtime_dependency('social_stream-linkser', '~> 0.15.0')
|
18
|
+
s.add_runtime_dependency('social_stream-presence', '~> 0.17.0')
|
19
|
+
s.add_runtime_dependency('social_stream-ostatus', '~> 0.2.0')
|
20
20
|
|
21
21
|
# Development Gem dependencies
|
22
22
|
#
|
@@ -21,6 +21,7 @@ test:
|
|
21
21
|
test_mysql:
|
22
22
|
adapter: mysql2
|
23
23
|
database: social_stream_test
|
24
|
+
pool: 8
|
24
25
|
username:
|
25
26
|
encoding: utf8
|
26
27
|
|
@@ -28,6 +29,7 @@ test_postgres:
|
|
28
29
|
adapter: postgresql
|
29
30
|
database: social_stream_test
|
30
31
|
username: postgres
|
32
|
+
pool: 8
|
31
33
|
|
32
34
|
production:
|
33
35
|
adapter: sqlite3
|