social_stream 2.0.4 → 2.1.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.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.rdoc +2 -1
  4. data/base/README.rdoc +2 -0
  5. data/base/app/assets/javascripts/social_stream/relation_customs.js +8 -3
  6. data/base/app/assets/javascripts/social_stream/timeline.js +1 -2
  7. data/base/app/assets/javascripts/social_stream/wall.js +11 -0
  8. data/base/app/assets/stylesheets/social_stream/base/contacts/_contacts.css.sass +1 -0
  9. data/base/app/assets/stylesheets/social_stream/base/contacts/layouts/_contacts.css.sass +1 -42
  10. data/base/app/assets/stylesheets/social_stream/base/footer/layout/_footer.css.sass +3 -2
  11. data/base/app/assets/stylesheets/social_stream/base/layouts/_layout.css.sass +4 -1
  12. data/base/app/assets/stylesheets/social_stream/base/mixins/_layout.css.sass +48 -0
  13. data/base/app/assets/stylesheets/social_stream/base/profile/_profile.css.sass +21 -25
  14. data/base/app/assets/stylesheets/social_stream/base/sidebar/_sidebar.css.sass +1 -27
  15. data/base/app/assets/stylesheets/social_stream/base/sidebar/layout/_sidebar.css.sass +1 -24
  16. data/base/app/assets/stylesheets/social_stream/base/toolbar/_toolbar.css.sass +2 -11
  17. data/base/app/assets/stylesheets/social_stream/base/toolbar/layout/_toolbar.css.sass +18 -5
  18. data/base/app/controllers/contacts_controller.rb +17 -22
  19. data/base/app/controllers/permissions_controller.rb +3 -1
  20. data/base/app/helpers/contacts_helper.rb +9 -14
  21. data/base/app/models/actor.rb +28 -2
  22. data/base/app/models/contact.rb +18 -1
  23. data/base/app/models/permission.rb +21 -1
  24. data/base/app/models/relation.rb +14 -15
  25. data/base/app/models/relation/custom.rb +27 -24
  26. data/base/app/views/activities/_new.html.erb +1 -1
  27. data/base/app/views/contacts/{_link_custom.html.erb → _button.html.erb} +0 -0
  28. data/base/app/views/contacts/_contact.html.erb +1 -1
  29. data/base/app/views/contacts/index.html.erb +1 -1
  30. data/base/app/views/devise/passwords/new.html.erb +6 -8
  31. data/base/app/views/devise/registrations/new.html.erb +5 -7
  32. data/base/app/views/layouts/application.html.erb +7 -8
  33. data/base/app/views/permissions/_index.html.erb +12 -12
  34. data/base/app/views/permissions/_list.html.erb +10 -0
  35. data/base/app/views/permissions/index.js.erb +1 -15
  36. data/base/app/views/posts/create.js.erb +5 -4
  37. data/base/app/views/profiles/_personal.html.erb +2 -2
  38. data/base/app/views/relation/customs/_custom.html.erb +2 -27
  39. data/base/app/views/relation/customs/_form.html.erb +1 -1
  40. data/base/app/views/relation/customs/_index.html.erb +1 -1
  41. data/base/app/views/relation/customs/_list.html.erb +5 -4
  42. data/base/app/views/relation/customs/index.html.erb +1 -1
  43. data/base/app/views/relations/_relation.html.erb +33 -0
  44. data/base/config/locales/en.yml +10 -5
  45. data/base/config/locales/es.yml +20 -40
  46. data/base/config/locales/pt.yml +5 -1
  47. data/base/config/locales/zh.yml +17 -9
  48. data/base/lib/generators/social_stream/base/install_generator.rb +0 -4
  49. data/base/lib/generators/social_stream/base/templates/initializer.rb +24 -0
  50. data/base/lib/social_stream/base.rb +70 -0
  51. data/base/lib/social_stream/base/ability.rb +13 -1
  52. data/base/lib/social_stream/base/version.rb +1 -1
  53. data/base/lib/social_stream/test_helpers/controllers.rb +12 -6
  54. data/base/social_stream-base.gemspec +1 -1
  55. data/base/spec/controllers/permissions_controller_spec.rb +2 -6
  56. data/documents/app/assets/stylesheets/social_stream-documents.css.sass +2 -0
  57. data/documents/app/assets/stylesheets/social_stream/documents/explore/_explore-documents.css.sass +1 -2
  58. data/documents/app/assets/stylesheets/social_stream/documents/explore/layout/_explore-documents.css.sass +2 -13
  59. data/documents/app/assets/stylesheets/social_stream/documents/mixins/_mixins.css.sass +19 -0
  60. data/documents/lib/social_stream-documents.rb +0 -2
  61. data/documents/lib/social_stream/documents/version.rb +1 -1
  62. data/documents/social_stream-documents.gemspec +1 -1
  63. data/events/lib/social_stream/events/version.rb +1 -1
  64. data/events/social_stream-events.gemspec +1 -1
  65. data/lib/social_stream/version.rb +1 -1
  66. data/linkser/app/assets/javascripts/social_stream/linkser.wall.js +11 -14
  67. data/linkser/app/views/links/create.js.erb +3 -4
  68. data/linkser/lib/social_stream/linkser/version.rb +1 -1
  69. data/linkser/social_stream-linkser.gemspec +1 -1
  70. data/oauth2_server/app/assets/stylesheets/social_stream-oauth2_server.css.sass +1 -1
  71. data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/applications/_applications-oauth2server.css.sass +1 -1
  72. data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/applications/layout/_applications-oauth2server.css.sass +4 -0
  73. data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/create/_create-oauth2server.css.sass +3 -7
  74. data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/mixins/_mixin.css.sass +10 -0
  75. data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/show/layout/_show-oauth2server.css.sass +15 -6
  76. data/oauth2_server/app/controllers/site/clients_controller.rb +14 -11
  77. data/oauth2_server/app/models/relation/manager.rb +19 -0
  78. data/oauth2_server/app/models/site/client.rb +10 -6
  79. data/oauth2_server/app/views/site/clients/_avatar.html.erb +15 -0
  80. data/oauth2_server/app/views/site/clients/_edit.html.erb +6 -0
  81. data/oauth2_server/app/views/site/clients/_edit_step_2.html.erb +11 -0
  82. data/oauth2_server/app/views/site/clients/_edit_step_3.html.erb +10 -0
  83. data/oauth2_server/app/views/site/clients/_list.html.erb +20 -17
  84. data/oauth2_server/app/views/site/clients/edit.html.erb +5 -6
  85. data/oauth2_server/app/views/site/clients/index.html.erb +1 -1
  86. data/oauth2_server/app/views/site/clients/new.html.erb +4 -2
  87. data/oauth2_server/app/views/site/clients/show.html.erb +49 -42
  88. data/oauth2_server/config/locales/en.yml +21 -3
  89. data/oauth2_server/config/locales/es.yml +26 -11
  90. data/oauth2_server/config/locales/zh.yml +25 -0
  91. data/oauth2_server/db/migrate/20130619134332_site_client_admin_to_manager.rb +24 -0
  92. data/oauth2_server/lib/social_stream-oauth2_server.rb +1 -19
  93. data/oauth2_server/lib/social_stream/oauth2_server.rb +33 -5
  94. data/oauth2_server/lib/social_stream/oauth2_server/ability.rb +23 -0
  95. data/oauth2_server/lib/social_stream/oauth2_server/engine.rb +6 -0
  96. data/oauth2_server/lib/social_stream/oauth2_server/models/actor.rb +2 -2
  97. data/oauth2_server/lib/social_stream/oauth2_server/version.rb +1 -1
  98. data/oauth2_server/social_stream-oauth2_server.gemspec +1 -1
  99. data/oauth2_server/spec/controllers/site_clients_controller_authorization_spec.rb +112 -0
  100. data/oauth2_server/spec/factories/site_client.rb +2 -2
  101. data/oauth2_server/spec/models/site/client_authorization_spec.rb +20 -0
  102. data/ostatus/lib/social_stream-ostatus.rb +0 -4
  103. data/ostatus/lib/social_stream/ostatus/engine.rb +11 -0
  104. data/ostatus/lib/social_stream/ostatus/version.rb +1 -1
  105. data/ostatus/social_stream-ostatus.gemspec +1 -1
  106. data/places/config/locales/en.yml +0 -1
  107. data/places/config/locales/es.yml +1 -2
  108. data/presence/lib/social_stream/presence/version.rb +1 -1
  109. data/presence/social_stream-presence.gemspec +1 -1
  110. data/social_stream.gemspec +7 -7
  111. metadata +30 -26
  112. data/base/app/helpers/permissions_helper.rb +0 -21
  113. data/base/lib/generators/social_stream/base/templates/relations.yml +0 -39
  114. data/oauth2_server/app/assets/stylesheets/social_stream/oauth2_server/mixins/_mixins.css.sass +0 -5
  115. data/oauth2_server/app/models/relation/admin.rb +0 -9
  116. data/oauth2_server/app/views/site/clients/_form_step1.html.erb +0 -7
  117. data/oauth2_server/app/views/site/clients/_form_step2.html.erb +0 -20
  118. data/ostatus/app/decorators/social_stream/base/relation/custom_decorator.rb +0 -3
  119. data/ostatus/lib/social_stream/ostatus/models/relation/custom.rb +0 -22
  120. data/spec/dummy/config/relations.yml +0 -39
@@ -23,10 +23,6 @@ class SocialStream::Base::InstallGenerator < Rails::Generators::Base #:nodoc:
23
23
  copy_file 'initializer.rb', 'config/initializers/social_stream.rb'
24
24
  end
25
25
 
26
- def create_config_relations_file
27
- copy_file 'relations.yml', 'config/relations.yml'
28
- end
29
-
30
26
  def create_config_sphinx_file
31
27
  copy_file 'sphinx.yml', 'config/sphinx.yml'
32
28
  end
@@ -20,6 +20,30 @@ SocialStream.setup do |config|
20
20
  #
21
21
  # config.relation_model = :custom
22
22
 
23
+ # Config the default relations that will be created and customized by actors
24
+ # config.custom_relations = {
25
+ # user: {
26
+ # friend: {
27
+ # name: "friend",
28
+ # permissions: [
29
+ # [ 'follow' ],
30
+ # [ 'create', 'activity' ],
31
+ # [ 'read', 'activity' ]
32
+ # ]
33
+ # },
34
+ # group: {
35
+ # member: {
36
+ # name: "member",
37
+ # permissions: [
38
+ # [ 'represent' ],
39
+ # [ 'create', 'activity' ],
40
+ # [ 'read', 'activity' ],
41
+ # [ 'read', 'tie' ]
42
+ # ]
43
+ # },
44
+ # 'site/current' => {}
45
+ # }
46
+
23
47
  # Configure the type of actors that are suggested in the sidebar
24
48
  #
25
49
  # config.suggested_models = [ :user, :group ]
@@ -25,6 +25,76 @@ module SocialStream
25
25
  mattr_accessor :single_relations
26
26
  @@single_relations = [ :public, :follow, :reject ]
27
27
 
28
+ mattr_accessor :custom_relations
29
+ @@custom_relations = {
30
+ 'user' => {
31
+ 'friend' => {
32
+ 'name' => 'friend',
33
+ 'permissions' => [
34
+ [ 'follow' ],
35
+ [ 'create', 'activity' ],
36
+ [ 'read', 'activity' ]
37
+ ]
38
+ },
39
+ 'acquaintance' => {
40
+ 'name' => 'acquaintance',
41
+ 'permissions' => [
42
+ [ 'read', 'activity' ]
43
+ ]
44
+ },
45
+ 'colleague' => {
46
+ 'name' => 'colleague',
47
+ 'permissions' => [
48
+ [ 'follow' ],
49
+ [ 'create', 'activity' ],
50
+ [ 'read', 'activity' ]
51
+ ]
52
+ }
53
+ },
54
+ 'group' => {
55
+ 'member' => {
56
+ 'name' => 'member',
57
+ 'permissions' => [
58
+ [ 'represent' ],
59
+ [ 'create', 'activity' ],
60
+ [ 'read', 'activity' ],
61
+ [ 'read', 'tie' ]
62
+ ]
63
+ },
64
+ 'partner' => {
65
+ 'name' => 'partner',
66
+ 'permissions' => [
67
+ [ 'read', 'activity' ]
68
+ ]
69
+ }
70
+ },
71
+ 'site/current' => {}
72
+ }
73
+
74
+ mattr_accessor :list_relations
75
+ @@list_relations = {
76
+ user: [],
77
+ group: []
78
+ }
79
+
80
+ mattr_accessor :available_permissions
81
+ @@available_permissions = {
82
+ 'user' => [
83
+ [ "read", "activity" ],
84
+ [ "create", "activity" ],
85
+ [ "follow", nil ],
86
+ [ "represent", nil ],
87
+ [ "notify", nil ]
88
+ ],
89
+ 'group' => [
90
+ [ "read", "activity" ],
91
+ [ "create", "activity" ],
92
+ [ "follow", nil ],
93
+ [ "represent", nil ],
94
+ [ "notify", nil ]
95
+ ]
96
+ }
97
+
28
98
  mattr_accessor :suggested_models
29
99
  @@suggested_models = [ :user, :group ]
30
100
 
@@ -59,6 +59,13 @@ module SocialStream
59
59
  a.audience.include?(subject.actor)
60
60
  end
61
61
 
62
+ can :read, Contact
63
+
64
+ can :manage, Contact do |c|
65
+ c.sender == subject.actor ||
66
+ c.sender.allow?(subject, 'manage', 'contact')
67
+ end
68
+
62
69
  # Users
63
70
  can :read, User
64
71
 
@@ -90,7 +97,12 @@ module SocialStream
90
97
  end
91
98
 
92
99
  # Privacy
93
- can [:create, :read, :update, :destroy], ::Relation::Custom, :actor_id => subject.try(:actor_id)
100
+ can :manage, ::Relation::Custom do |r|
101
+ subject.present? && (
102
+ r.actor_id == subject.actor_id ||
103
+ r.actor.allow?(subject, 'manage', 'relation/custom')
104
+ )
105
+ end
94
106
  end
95
107
  end
96
108
  end
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Base
3
- VERSION = "2.0.4".freeze
3
+ VERSION = "2.1.0".freeze
4
4
  end
5
5
  end
@@ -13,6 +13,12 @@ module SocialStream
13
13
  model_class.to_s.underscore.to_sym
14
14
  end
15
15
 
16
+ # :client for Site::ClientsController
17
+ def demodulized_model_sym
18
+ @demodulized_model_sym ||=
19
+ model_class.to_s.demodulize.underscore.to_sym
20
+ end
21
+
16
22
  # Factory.attributes_for(:post) for PostsController
17
23
  def model_attributes
18
24
  @model_attributes ||=
@@ -42,7 +48,7 @@ module SocialStream
42
48
  count = model_count
43
49
  post :create, attributes
44
50
 
45
- resource = assigns(model_sym)
51
+ resource = assigns(demodulized_model_sym)
46
52
 
47
53
  model_count.should eq(count + 1)
48
54
  resource.should be_valid
@@ -58,7 +64,7 @@ module SocialStream
58
64
  rescue CanCan::AccessDenied
59
65
  end
60
66
 
61
- resource = assigns(model_sym)
67
+ resource = assigns(demodulized_model_sym)
62
68
 
63
69
  model_count.should eq(count)
64
70
  resource.should be_new_record
@@ -88,7 +94,7 @@ module SocialStream
88
94
  it "should update" do
89
95
  put :update, updating_attributes
90
96
 
91
- resource = assigns(model_sym)
97
+ resource = assigns(demodulized_model_sym)
92
98
 
93
99
  resource.should_receive(:update_attributes).with(attributes)
94
100
  assert resource.valid?
@@ -103,7 +109,7 @@ module SocialStream
103
109
  rescue CanCan::AccessDenied
104
110
  end
105
111
 
106
- resource = assigns(model_sym)
112
+ resource = assigns(demodulized_model_sym)
107
113
 
108
114
  resource.should_not_receive(:update_attributes)
109
115
  end
@@ -114,7 +120,7 @@ module SocialStream
114
120
  count = model_count
115
121
  delete :destroy, :id => @current_model.to_param
116
122
 
117
- resource = assigns(model_sym)
123
+ resource = assigns(demodulized_model_sym)
118
124
 
119
125
  model_count.should eq(count - 1)
120
126
  end
@@ -128,7 +134,7 @@ module SocialStream
128
134
  rescue CanCan::AccessDenied
129
135
  end
130
136
 
131
- resource = assigns(model_sym)
137
+ resource = assigns(demodulized_model_sym)
132
138
 
133
139
  model_count.should eq(count)
134
140
  end
@@ -59,7 +59,7 @@ Gem::Specification.new do |s|
59
59
  # Syntactically Awesome Stylesheets
60
60
  s.add_runtime_dependency('sass-rails', '>= 3.1.0')
61
61
  # Bootstrap for Sass
62
- s.add_runtime_dependency('bootstrap-sass', '~> 2.3.1.0')
62
+ s.add_runtime_dependency('bootstrap-sass', '~> 2.3.2.0')
63
63
  # Customize ERB views
64
64
  s.add_runtime_dependency('deface', '~> 0.9.1')
65
65
  # Autolink text blocks
@@ -30,13 +30,9 @@ describe PermissionsController do
30
30
  end
31
31
 
32
32
  it "should not render index" do
33
- begin
33
+ expect {
34
34
  get :index, :relation_id => @relation.id, :format => "html"
35
-
36
- assert false
37
- rescue ActiveRecord::RecordNotFound
38
- assigns(:permissions).should be_nil
39
- end
35
+ }.to raise_error(CanCan::AccessDenied)
40
36
  end
41
37
  end
42
38
  end
@@ -1,3 +1,5 @@
1
+ @import "social_stream/documents/mixins/mixins"
2
+
1
3
  @import "social_stream/documents/responsive/responsive-1200px-min"
2
4
  @import "social_stream/documents/responsive/responsive-768px-979px"
3
5
  @import "social_stream/documents/responsive/responsive-767px-max"
@@ -5,8 +5,7 @@
5
5
  .audio,
6
6
  .video,
7
7
  .document
8
- .author
9
- font-size: 13px
8
+ @mixin docs-style
10
9
  .actions
11
10
  color: $gray
12
11
  font-size: 12px
@@ -6,16 +6,5 @@
6
6
  .audio,
7
7
  .video,
8
8
  .document
9
- display: inline
10
- @include makeColumn(3, 0)
11
- margin-left: 19px
12
- margin-bottom: 14px
13
- .thumb
14
- @include makeColumnoMargin(1, 0)
15
- display: inline
16
- margin-top: 14px
17
- .brifing
18
- @include makeColumnoMargin(2, 0)
19
- display: inline-block
20
- .author
21
- margin-top: -10px
9
+ @include docs-layout
10
+ @include docs-style
@@ -0,0 +1,19 @@
1
+ @mixin docs-style
2
+ .author
3
+ font-size: 13px
4
+
5
+
6
+ @mixin docs-layout
7
+ display: inline
8
+ @include makeColumn(3, 0)
9
+ margin-left: 19px
10
+ margin-bottom: 14px
11
+ .thumb
12
+ @include makeColumnoMargin(1, 0)
13
+ display: inline
14
+ margin-top: 14px
15
+ .brifing
16
+ @include makeColumnoMargin(2, 0)
17
+ display: inline-block
18
+ .author
19
+ margin-top: -10px
@@ -5,9 +5,7 @@ module SocialStream
5
5
  module Models
6
6
  autoload :ActivityObject, 'social_stream/documents/models/activity_object'
7
7
  end
8
- end
9
8
 
10
- module Documents
11
9
  # Picture thumbnails
12
10
  mattr_accessor :picture_styles
13
11
  @@picture_styles = {
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Documents
3
- VERSION = "2.0.4".freeze
3
+ VERSION = "2.1.0".freeze
4
4
  end
5
5
  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', '~> 2.0.4')
15
+ s.add_runtime_dependency('social_stream-base', '~> 2.1.0')
16
16
 
17
17
  s.add_runtime_dependency('paperclip','~> 3.3.0')
18
18
  s.add_runtime_dependency('paperclip-ffmpeg', '~> 0.9.0')
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Events
3
- VERSION = "2.0.2".freeze
3
+ VERSION = "2.1.0".freeze
4
4
  end
5
5
  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', '~> 2.0.4')
15
+ s.add_runtime_dependency('social_stream-base', '~> 2.1.0')
16
16
  s.add_runtime_dependency('rails-scheduler', '~> 0.1.2')
17
17
 
18
18
  # Development Gem dependencies
@@ -1,3 +1,3 @@
1
1
  module SocialStream
2
- VERSION = "2.0.4".freeze
2
+ VERSION = "2.1.0".freeze
3
3
  end
@@ -1,6 +1,8 @@
1
+ //= require social_stream/callback
1
2
  //= require social_stream/wall
2
3
 
3
4
  SocialStream.Linkser.Wall = (function(SS, $) {
5
+ var callback = new SS.Callback();
4
6
  var regexp = /^(http|ftp|https):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&;:\/~+#-]*[\w@?^=%&;\/~+#-])?$/
5
7
 
6
8
  var urlDetect = function() {
@@ -47,20 +49,16 @@ SocialStream.Linkser.Wall = (function(SS, $) {
47
49
  } else {
48
50
  if ($('#post_text').data('link')) {
49
51
  $('#post_text').data('link', false);
50
- resetWallInput({ postText: false });
52
+ resetWallInput();
51
53
  }
52
54
  }
53
55
  };
54
56
 
55
- var resetWallInput = function(options) {
57
+ var resetWallInput = function() {
56
58
  $("#link_preview").hide().html('');
57
59
  $("#link_url").val("");
58
60
  SS.Wall.changeAction();
59
61
  SS.Wall.changeParams('post');
60
-
61
- if (options.postText) {
62
- $('#post_text').val('');
63
- }
64
62
  };
65
63
 
66
64
  var showLoading = function() {
@@ -82,14 +80,13 @@ SocialStream.Linkser.Wall = (function(SS, $) {
82
80
  };
83
81
 
84
82
 
85
- var create = function() {
86
- resetWallInput({ postText: true });
87
- };
83
+ SS.Wall.callbackRegister('show', init);
88
84
 
89
- SocialStream.Wall.callbackRegister('show', init);
90
-
91
- return {
92
- create: create
93
- };
85
+ callback.register('new_',
86
+ SS.Wall.new_,
87
+ resetWallInput);
88
+
89
+ return callback.extend({
90
+ });
94
91
 
95
92
  })(SocialStream, jQuery);
@@ -1,6 +1,5 @@
1
1
  //Display the new post
2
- $(".timeline").prepend("<%= escape_javascript(render @link.post_activity) %>");
2
+ $(".timeline").prepend("<%= escape_javascript render(@link.post_activity) %>");
3
3
 
4
- SocialStream.Timeline.update();
5
-
6
- SocialStream.Linkser.Wall.create();
4
+ SocialStream.Timeline.update("<%= escape_javascript dom_id(@link.post_activity) %>");
5
+ SocialStream.Linkser.Wall.new_();
@@ -1,5 +1,5 @@
1
1
  module SocialStream
2
2
  module Linkser
3
- VERSION = "2.0.0".freeze
3
+ VERSION = "2.1.0".freeze
4
4
  end
5
5
  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', '~> 2.0.0')
15
+ s.add_runtime_dependency('social_stream-base', '~> 2.1.0')
16
16
  s.add_runtime_dependency('linkser', '~> 0.0.12')
17
17
  # Development Gem dependencies
18
18
  s.add_development_dependency('sqlite3-ruby')