twrk-socialization 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +13 -0
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +8 -0
  5. data/Appraisals +23 -0
  6. data/CHANGELOG.md +67 -0
  7. data/Gemfile +3 -0
  8. data/Guardfile +12 -0
  9. data/LICENSE +20 -0
  10. data/README.md +298 -0
  11. data/Rakefile +14 -0
  12. data/demo/.gitignore +15 -0
  13. data/demo/Gemfile +35 -0
  14. data/demo/README.rdoc +261 -0
  15. data/demo/Rakefile +7 -0
  16. data/demo/app/assets/images/rails.png +0 -0
  17. data/demo/app/assets/javascripts/application.js +15 -0
  18. data/demo/app/assets/stylesheets/application.css +13 -0
  19. data/demo/app/controllers/application_controller.rb +3 -0
  20. data/demo/app/helpers/application_helper.rb +2 -0
  21. data/demo/app/mailers/.gitkeep +0 -0
  22. data/demo/app/models/.gitkeep +0 -0
  23. data/demo/app/models/celebrity.rb +4 -0
  24. data/demo/app/models/comment.rb +5 -0
  25. data/demo/app/models/follow.rb +3 -0
  26. data/demo/app/models/like.rb +2 -0
  27. data/demo/app/models/mention.rb +2 -0
  28. data/demo/app/models/movie.rb +3 -0
  29. data/demo/app/models/user.rb +7 -0
  30. data/demo/app/views/layouts/application.html.erb +14 -0
  31. data/demo/config/application.rb +59 -0
  32. data/demo/config/boot.rb +6 -0
  33. data/demo/config/database.yml +25 -0
  34. data/demo/config/environment.rb +5 -0
  35. data/demo/config/environments/development.rb +37 -0
  36. data/demo/config/environments/production.rb +67 -0
  37. data/demo/config/environments/test.rb +37 -0
  38. data/demo/config/initializers/backtrace_silencers.rb +7 -0
  39. data/demo/config/initializers/inflections.rb +15 -0
  40. data/demo/config/initializers/mime_types.rb +5 -0
  41. data/demo/config/initializers/secret_token.rb +7 -0
  42. data/demo/config/initializers/session_store.rb +8 -0
  43. data/demo/config/initializers/wrap_parameters.rb +14 -0
  44. data/demo/config/locales/en.yml +5 -0
  45. data/demo/config/routes.rb +58 -0
  46. data/demo/config.ru +4 -0
  47. data/demo/db/migrate/20120115051222_create_users.rb +9 -0
  48. data/demo/db/migrate/20120115051234_create_movies.rb +9 -0
  49. data/demo/db/migrate/20120115051255_create_celebrities.rb +9 -0
  50. data/demo/db/migrate/20120115054646_create_follows.rb +14 -0
  51. data/demo/db/migrate/20120115054647_create_likes.rb +14 -0
  52. data/demo/db/migrate/20120221200644_create_mentions.rb +14 -0
  53. data/demo/db/migrate/20120221202703_create_comments.rb +9 -0
  54. data/demo/db/schema.rb +72 -0
  55. data/demo/db/seeds.rb +17 -0
  56. data/demo/lib/assets/.gitkeep +0 -0
  57. data/demo/lib/tasks/.gitkeep +0 -0
  58. data/demo/public/404.html +26 -0
  59. data/demo/public/422.html +26 -0
  60. data/demo/public/500.html +25 -0
  61. data/demo/public/favicon.ico +0 -0
  62. data/demo/public/index.html +204 -0
  63. data/demo/public/robots.txt +5 -0
  64. data/demo/script/rails +6 -0
  65. data/demo/test/fixtures/.gitkeep +0 -0
  66. data/demo/test/fixtures/celebrities.yml +7 -0
  67. data/demo/test/fixtures/movies.yml +7 -0
  68. data/demo/test/fixtures/users.yml +7 -0
  69. data/demo/test/functional/.gitkeep +0 -0
  70. data/demo/test/integration/.gitkeep +0 -0
  71. data/demo/test/performance/browsing_test.rb +12 -0
  72. data/demo/test/test_helper.rb +13 -0
  73. data/demo/test/unit/.gitkeep +0 -0
  74. data/demo/test/unit/celebrity_test.rb +7 -0
  75. data/demo/test/unit/movie_test.rb +7 -0
  76. data/demo/test/unit/user_test.rb +7 -0
  77. data/demo/vendor/assets/javascripts/.gitkeep +0 -0
  78. data/demo/vendor/assets/stylesheets/.gitkeep +0 -0
  79. data/demo/vendor/plugins/.gitkeep +0 -0
  80. data/init.rb +1 -0
  81. data/lib/generators/socialization/socialization_generator.rb +38 -0
  82. data/lib/generators/socialization/templates/active_record/migration_follows.rb +14 -0
  83. data/lib/generators/socialization/templates/active_record/migration_likes.rb +14 -0
  84. data/lib/generators/socialization/templates/active_record/migration_mentions.rb +14 -0
  85. data/lib/generators/socialization/templates/active_record/model_follow.rb +2 -0
  86. data/lib/generators/socialization/templates/active_record/model_like.rb +2 -0
  87. data/lib/generators/socialization/templates/active_record/model_mention.rb +2 -0
  88. data/lib/generators/socialization/templates/redis/model_follow.rb +2 -0
  89. data/lib/generators/socialization/templates/redis/model_like.rb +2 -0
  90. data/lib/generators/socialization/templates/redis/model_mention.rb +2 -0
  91. data/lib/socialization/actors/follower.rb +88 -0
  92. data/lib/socialization/actors/liker.rb +88 -0
  93. data/lib/socialization/actors/mentioner.rb +88 -0
  94. data/lib/socialization/config/config.rb +39 -0
  95. data/lib/socialization/helpers/acts_as_helpers.rb +39 -0
  96. data/lib/socialization/helpers/string.rb +17 -0
  97. data/lib/socialization/lib/exceptions.rb +3 -0
  98. data/lib/socialization/stores/active_record/follow.rb +125 -0
  99. data/lib/socialization/stores/active_record/like.rb +121 -0
  100. data/lib/socialization/stores/active_record/mention.rb +125 -0
  101. data/lib/socialization/stores/active_record/mixins/base.rb +12 -0
  102. data/lib/socialization/stores/mixins/base.rb +22 -0
  103. data/lib/socialization/stores/mixins/follow.rb +39 -0
  104. data/lib/socialization/stores/mixins/like.rb +40 -0
  105. data/lib/socialization/stores/mixins/mention.rb +40 -0
  106. data/lib/socialization/stores/redis/base.rb +125 -0
  107. data/lib/socialization/stores/redis/config.rb +11 -0
  108. data/lib/socialization/stores/redis/follow.rb +22 -0
  109. data/lib/socialization/stores/redis/like.rb +22 -0
  110. data/lib/socialization/stores/redis/mention.rb +22 -0
  111. data/lib/socialization/stores/redis/mixins/base.rb +8 -0
  112. data/lib/socialization/version.rb +3 -0
  113. data/lib/socialization/victims/followable.rb +50 -0
  114. data/lib/socialization/victims/likeable.rb +51 -0
  115. data/lib/socialization/victims/mentionable.rb +51 -0
  116. data/lib/socialization.rb +20 -0
  117. data/socialization.gemspec +32 -0
  118. data/spec/actors/follower_spec.rb +113 -0
  119. data/spec/actors/liker_spec.rb +105 -0
  120. data/spec/actors/mentioner_spec.rb +105 -0
  121. data/spec/spec_helper.rb +21 -0
  122. data/spec/spec_support/data_stores.rb +232 -0
  123. data/spec/spec_support/matchers.rb +54 -0
  124. data/spec/stores/active_record/follow_store_spec.rb +147 -0
  125. data/spec/stores/active_record/like_store_spec.rb +146 -0
  126. data/spec/stores/active_record/mention_store_spec.rb +148 -0
  127. data/spec/stores/active_record/mixins/base_spec.rb +25 -0
  128. data/spec/stores/redis/base_spec.rb +195 -0
  129. data/spec/stores/redis/config_spec.rb +28 -0
  130. data/spec/stores/redis/follow_store_spec.rb +26 -0
  131. data/spec/stores/redis/like_store_spec.rb +23 -0
  132. data/spec/stores/redis/mention_store_spec.rb +23 -0
  133. data/spec/string_spec.rb +13 -0
  134. data/spec/victims/followable_spec.rb +59 -0
  135. data/spec/victims/likeable_spec.rb +58 -0
  136. data/spec/victims/mentionable_spec.rb +59 -0
  137. data/spec/world_spec.rb +107 -0
  138. metadata +322 -0
@@ -0,0 +1,107 @@
1
+ require 'spec_helper'
2
+
3
+ # Test Socialization as it would be used in a "real world" scenario
4
+ describe "The World" do
5
+ cattr_reader :users, :movies, :celebs, :comments
6
+
7
+ %w(john jane mat carl camilo tami).each do |user|
8
+ define_method(user) { @users[user.to_sym] }
9
+ end
10
+
11
+ %w(pulp reservoir kill_bill).each do |movie|
12
+ define_method(movie) { @movies[movie.to_sym] }
13
+ end
14
+
15
+ %w(willis travolta jackson).each do |celeb|
16
+ define_method(celeb) { @celebs[celeb.to_sym] }
17
+ end
18
+
19
+ before(:all) do
20
+ seed
21
+ end
22
+
23
+ shared_examples "the world" do
24
+ it "acts like it should" do
25
+ john.like!(pulp)
26
+ john.follow!(jane)
27
+ john.follow!(travolta)
28
+
29
+ expect(john.likes?(pulp)).to be true
30
+ expect(john.follows?(jane)).to be true
31
+ expect(john.follows?travolta).to be true
32
+
33
+ expect(pulp.liked_by?(john)).to be true
34
+ expect(travolta.followed_by?(john)).to be true
35
+
36
+ carl.like!(pulp)
37
+ camilo.like!(pulp)
38
+ expect(pulp.likers(User).size).to eq(3)
39
+
40
+ expect(pulp.likers(User).include?(carl)).to be true
41
+ expect(pulp.likers(User).include?(john)).to be true
42
+ expect(pulp.likers(User).include?(camilo)).to be true
43
+ expect(!pulp.likers(User).include?(mat)).to be true
44
+
45
+ carl.follow!(mat)
46
+ mat.follow!(carl)
47
+ camilo.follow!(carl)
48
+
49
+ expect(carl.follows?(mat)).to be true
50
+ expect(mat.followed_by?(carl)).to be true
51
+ expect(mat.follows?(carl)).to be true
52
+ expect(carl.followed_by?(mat)).to be true
53
+ expect(camilo.follows?(carl)).to be true
54
+ expect(!carl.follows?(camilo)).to be true
55
+
56
+ # Can't like a Celeb
57
+ expect { john.like!(travolta) }.to raise_error(Socialization::ArgumentError)
58
+
59
+ # Can't follow a movie
60
+ expect { john.follow!(kill_bill) }.to raise_error(Socialization::ArgumentError)
61
+
62
+ # You can even follow or like yourself if your ego is that big.
63
+ expect(john.follow!(john)).to be true
64
+ expect(john.like!(john)).to be true
65
+
66
+ comment = john.comments.create(:body => "I think Tami and Carl would like this movie!", :movie_id => pulp.id)
67
+ comment.mention!(tami)
68
+ comment.mention!(carl)
69
+ expect(comment.mentions?(carl)).to be true
70
+ expect(carl.mentioned_by?(comment)).to be true
71
+ expect(comment.mentions?(tami)).to be true
72
+ expect(tami.mentioned_by?(comment)).to be true
73
+ end
74
+ end
75
+
76
+ context "ActiveRecord store" do
77
+ before(:all) { use_ar_store }
78
+ it_behaves_like "the world"
79
+ end
80
+
81
+ context "Redis store" do
82
+ before(:all) { use_redis_store }
83
+ it_behaves_like "the world"
84
+ end
85
+
86
+ def seed
87
+ @users = {}
88
+ @celebs = {}
89
+ @movies = {}
90
+
91
+ @users[:john] = User.create :name => 'John Doe'
92
+ @users[:jane] = User.create :name => 'Jane Doe'
93
+ @users[:mat] = User.create :name => 'Mat'
94
+ @users[:carl] = User.create :name => 'Carl'
95
+ @users[:camilo] = User.create :name => 'Camilo'
96
+ @users[:tami] = User.create :name => 'Tami'
97
+
98
+ @movies[:pulp] = Movie.create :name => 'Pulp Fiction'
99
+ @movies[:reservoir] = Movie.create :name => 'Reservoir Dogs'
100
+ @movies[:kill_bill] = Movie.create :name => 'Kill Bill'
101
+
102
+ @celebs[:willis] = Celebrity.create :name => 'Bruce Willis'
103
+ @celebs[:travolta] = Celebrity.create :name => 'John Travolta'
104
+ @celebs[:jackson] = Celebrity.create :name => 'Samuel L. Jackson'
105
+ end
106
+
107
+ end
metadata ADDED
@@ -0,0 +1,322 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: twrk-socialization
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - twrk
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-10-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activerecord
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: appraisal
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: logger
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 3.3.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 3.3.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-mocks
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: sqlite3
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: yard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: mock_redis
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: guard
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: guard-rspec
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ description: A modification of the smer/socialization plugin; currently not being
154
+ maintained by original authorr. Allows any model to Follow and/or Like any other
155
+ model. This is accomplished through a double polymorphic relationship on the Follow
156
+ and Like models. But you don't need to know that since all the complexity is hidden
157
+ from you.
158
+ email: twrkitrealgood@gmail.com
159
+ executables: []
160
+ extensions: []
161
+ extra_rdoc_files: []
162
+ files:
163
+ - ".gitignore"
164
+ - ".ruby-version"
165
+ - ".travis.yml"
166
+ - Appraisals
167
+ - CHANGELOG.md
168
+ - Gemfile
169
+ - Guardfile
170
+ - LICENSE
171
+ - README.md
172
+ - Rakefile
173
+ - demo/.gitignore
174
+ - demo/Gemfile
175
+ - demo/README.rdoc
176
+ - demo/Rakefile
177
+ - demo/app/assets/images/rails.png
178
+ - demo/app/assets/javascripts/application.js
179
+ - demo/app/assets/stylesheets/application.css
180
+ - demo/app/controllers/application_controller.rb
181
+ - demo/app/helpers/application_helper.rb
182
+ - demo/app/mailers/.gitkeep
183
+ - demo/app/models/.gitkeep
184
+ - demo/app/models/celebrity.rb
185
+ - demo/app/models/comment.rb
186
+ - demo/app/models/follow.rb
187
+ - demo/app/models/like.rb
188
+ - demo/app/models/mention.rb
189
+ - demo/app/models/movie.rb
190
+ - demo/app/models/user.rb
191
+ - demo/app/views/layouts/application.html.erb
192
+ - demo/config.ru
193
+ - demo/config/application.rb
194
+ - demo/config/boot.rb
195
+ - demo/config/database.yml
196
+ - demo/config/environment.rb
197
+ - demo/config/environments/development.rb
198
+ - demo/config/environments/production.rb
199
+ - demo/config/environments/test.rb
200
+ - demo/config/initializers/backtrace_silencers.rb
201
+ - demo/config/initializers/inflections.rb
202
+ - demo/config/initializers/mime_types.rb
203
+ - demo/config/initializers/secret_token.rb
204
+ - demo/config/initializers/session_store.rb
205
+ - demo/config/initializers/wrap_parameters.rb
206
+ - demo/config/locales/en.yml
207
+ - demo/config/routes.rb
208
+ - demo/db/migrate/20120115051222_create_users.rb
209
+ - demo/db/migrate/20120115051234_create_movies.rb
210
+ - demo/db/migrate/20120115051255_create_celebrities.rb
211
+ - demo/db/migrate/20120115054646_create_follows.rb
212
+ - demo/db/migrate/20120115054647_create_likes.rb
213
+ - demo/db/migrate/20120221200644_create_mentions.rb
214
+ - demo/db/migrate/20120221202703_create_comments.rb
215
+ - demo/db/schema.rb
216
+ - demo/db/seeds.rb
217
+ - demo/lib/assets/.gitkeep
218
+ - demo/lib/tasks/.gitkeep
219
+ - demo/public/404.html
220
+ - demo/public/422.html
221
+ - demo/public/500.html
222
+ - demo/public/favicon.ico
223
+ - demo/public/index.html
224
+ - demo/public/robots.txt
225
+ - demo/script/rails
226
+ - demo/test/fixtures/.gitkeep
227
+ - demo/test/fixtures/celebrities.yml
228
+ - demo/test/fixtures/movies.yml
229
+ - demo/test/fixtures/users.yml
230
+ - demo/test/functional/.gitkeep
231
+ - demo/test/integration/.gitkeep
232
+ - demo/test/performance/browsing_test.rb
233
+ - demo/test/test_helper.rb
234
+ - demo/test/unit/.gitkeep
235
+ - demo/test/unit/celebrity_test.rb
236
+ - demo/test/unit/movie_test.rb
237
+ - demo/test/unit/user_test.rb
238
+ - demo/vendor/assets/javascripts/.gitkeep
239
+ - demo/vendor/assets/stylesheets/.gitkeep
240
+ - demo/vendor/plugins/.gitkeep
241
+ - init.rb
242
+ - lib/generators/socialization/socialization_generator.rb
243
+ - lib/generators/socialization/templates/active_record/migration_follows.rb
244
+ - lib/generators/socialization/templates/active_record/migration_likes.rb
245
+ - lib/generators/socialization/templates/active_record/migration_mentions.rb
246
+ - lib/generators/socialization/templates/active_record/model_follow.rb
247
+ - lib/generators/socialization/templates/active_record/model_like.rb
248
+ - lib/generators/socialization/templates/active_record/model_mention.rb
249
+ - lib/generators/socialization/templates/redis/model_follow.rb
250
+ - lib/generators/socialization/templates/redis/model_like.rb
251
+ - lib/generators/socialization/templates/redis/model_mention.rb
252
+ - lib/socialization.rb
253
+ - lib/socialization/actors/follower.rb
254
+ - lib/socialization/actors/liker.rb
255
+ - lib/socialization/actors/mentioner.rb
256
+ - lib/socialization/config/config.rb
257
+ - lib/socialization/helpers/acts_as_helpers.rb
258
+ - lib/socialization/helpers/string.rb
259
+ - lib/socialization/lib/exceptions.rb
260
+ - lib/socialization/stores/active_record/follow.rb
261
+ - lib/socialization/stores/active_record/like.rb
262
+ - lib/socialization/stores/active_record/mention.rb
263
+ - lib/socialization/stores/active_record/mixins/base.rb
264
+ - lib/socialization/stores/mixins/base.rb
265
+ - lib/socialization/stores/mixins/follow.rb
266
+ - lib/socialization/stores/mixins/like.rb
267
+ - lib/socialization/stores/mixins/mention.rb
268
+ - lib/socialization/stores/redis/base.rb
269
+ - lib/socialization/stores/redis/config.rb
270
+ - lib/socialization/stores/redis/follow.rb
271
+ - lib/socialization/stores/redis/like.rb
272
+ - lib/socialization/stores/redis/mention.rb
273
+ - lib/socialization/stores/redis/mixins/base.rb
274
+ - lib/socialization/version.rb
275
+ - lib/socialization/victims/followable.rb
276
+ - lib/socialization/victims/likeable.rb
277
+ - lib/socialization/victims/mentionable.rb
278
+ - socialization.gemspec
279
+ - spec/actors/follower_spec.rb
280
+ - spec/actors/liker_spec.rb
281
+ - spec/actors/mentioner_spec.rb
282
+ - spec/spec_helper.rb
283
+ - spec/spec_support/data_stores.rb
284
+ - spec/spec_support/matchers.rb
285
+ - spec/stores/active_record/follow_store_spec.rb
286
+ - spec/stores/active_record/like_store_spec.rb
287
+ - spec/stores/active_record/mention_store_spec.rb
288
+ - spec/stores/active_record/mixins/base_spec.rb
289
+ - spec/stores/redis/base_spec.rb
290
+ - spec/stores/redis/config_spec.rb
291
+ - spec/stores/redis/follow_store_spec.rb
292
+ - spec/stores/redis/like_store_spec.rb
293
+ - spec/stores/redis/mention_store_spec.rb
294
+ - spec/string_spec.rb
295
+ - spec/victims/followable_spec.rb
296
+ - spec/victims/likeable_spec.rb
297
+ - spec/victims/mentionable_spec.rb
298
+ - spec/world_spec.rb
299
+ homepage: https://github.com/twrk/socialization
300
+ licenses: []
301
+ metadata: {}
302
+ post_install_message:
303
+ rdoc_options: []
304
+ require_paths:
305
+ - lib
306
+ required_ruby_version: !ruby/object:Gem::Requirement
307
+ requirements:
308
+ - - ">="
309
+ - !ruby/object:Gem::Version
310
+ version: '0'
311
+ required_rubygems_version: !ruby/object:Gem::Requirement
312
+ requirements:
313
+ - - ">="
314
+ - !ruby/object:Gem::Version
315
+ version: '0'
316
+ requirements: []
317
+ rubyforge_project:
318
+ rubygems_version: 2.4.8
319
+ signing_key:
320
+ specification_version: 4
321
+ summary: Easily socialize your app with Likes and Follows
322
+ test_files: []