socialization 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/.travis.yml +2 -1
  4. data/Appraisals +13 -1
  5. data/CHANGELOG.md +12 -0
  6. data/Guardfile +12 -0
  7. data/LICENSE +2 -2
  8. data/README.md +46 -1
  9. data/Rakefile +8 -10
  10. data/lib/socialization/stores/active_record/follow.rb +4 -0
  11. data/lib/socialization/stores/active_record/like.rb +4 -0
  12. data/lib/socialization/stores/active_record/mention.rb +4 -0
  13. data/lib/socialization/stores/active_record/mixins/base.rb +4 -0
  14. data/lib/socialization/stores/mixins/follow.rb +1 -1
  15. data/lib/socialization/version.rb +1 -1
  16. data/socialization.gemspec +5 -3
  17. data/spec/actors/follower_spec.rb +113 -0
  18. data/spec/actors/liker_spec.rb +105 -0
  19. data/spec/actors/mentioner_spec.rb +105 -0
  20. data/spec/spec_helper.rb +21 -0
  21. data/{test/test_helper.rb → spec/spec_support/data_stores.rb} +76 -81
  22. data/spec/spec_support/matchers.rb +54 -0
  23. data/spec/stores/active_record/follow_store_spec.rb +147 -0
  24. data/spec/stores/active_record/like_store_spec.rb +146 -0
  25. data/spec/stores/active_record/mention_store_spec.rb +148 -0
  26. data/spec/stores/active_record/mixins/base_spec.rb +25 -0
  27. data/spec/stores/redis/base_spec.rb +195 -0
  28. data/spec/stores/redis/config_spec.rb +28 -0
  29. data/spec/stores/redis/follow_store_spec.rb +26 -0
  30. data/spec/stores/redis/like_store_spec.rb +23 -0
  31. data/spec/stores/redis/mention_store_spec.rb +23 -0
  32. data/spec/string_spec.rb +13 -0
  33. data/spec/victims/followable_spec.rb +59 -0
  34. data/spec/victims/likeable_spec.rb +58 -0
  35. data/spec/victims/mentionable_spec.rb +59 -0
  36. data/spec/world_spec.rb +107 -0
  37. metadata +79 -42
  38. data/test/actors/follower_test.rb +0 -114
  39. data/test/actors/liker_test.rb +0 -106
  40. data/test/actors/mentioner_test.rb +0 -106
  41. data/test/stores/active_record/follow_store_test.rb +0 -138
  42. data/test/stores/active_record/like_store_test.rb +0 -139
  43. data/test/stores/active_record/mention_store_test.rb +0 -138
  44. data/test/stores/redis/base_test.rb +0 -203
  45. data/test/stores/redis/config_test.rb +0 -30
  46. data/test/stores/redis/follow_store_test.rb +0 -27
  47. data/test/stores/redis/like_store_test.rb +0 -25
  48. data/test/stores/redis/mention_store_test.rb +0 -25
  49. data/test/string_test.rb +0 -13
  50. data/test/victims/followable_test.rb +0 -60
  51. data/test/victims/likeable_test.rb +0 -60
  52. data/test/victims/mentionable_test.rb +0 -60
  53. data/test/world_test.rb +0 -112
@@ -0,0 +1,28 @@
1
+ require "spec_helper"
2
+
3
+ context "RedisStoreConfigTest" do
4
+ before do
5
+ Socialization.instance_eval { @redis = nil }
6
+ end
7
+
8
+ it "returns a new Redis object when none were specified" do
9
+ expect(Socialization.redis).to be_a Redis
10
+ end
11
+
12
+ it "always returns the same Redis object when none were specified" do
13
+ redis = Socialization.redis
14
+ expect(Socialization.redis).to eq(redis)
15
+ end
16
+
17
+ it "is able to set and get a redis instance" do
18
+ redis = Redis.new
19
+ Socialization.redis = redis
20
+ expect(Socialization.redis).to eq(redis)
21
+ end
22
+
23
+ it "always return the same Redis object when it was specified" do
24
+ redis = Redis.new
25
+ Socialization.redis = redis
26
+ expect(Socialization.redis).to eq(redis)
27
+ end
28
+ end
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe Socialization::RedisStores::Follow do
4
+ before do
5
+ use_redis_store
6
+ @klass = Socialization::RedisStores::Follow
7
+ @base = Socialization::RedisStores::Base
8
+ end
9
+
10
+ describe "method aliases" do
11
+ it "should be set properly and made public" do
12
+ # TODO: Can't figure out how to test method aliases properly. The following doesn't work:
13
+ # assert @klass.method(:follow!) == @base.method(:relation!)
14
+ expect(:follow!).to be_a_public_method_of(@klass)
15
+ expect(:unfollow!).to be_a_public_method_of(@klass)
16
+ expect(:follows?).to be_a_public_method_of(@klass)
17
+ expect(:followers_relation).to be_a_public_method_of(@klass)
18
+ expect(:followers).to be_a_public_method_of(@klass)
19
+ expect(:followables_relation).to be_a_public_method_of(@klass)
20
+ expect(:followables).to be_a_public_method_of(@klass)
21
+ expect(:remove_followers).to be_a_public_method_of(@klass)
22
+ expect(:remove_followables).to be_a_public_method_of(@klass)
23
+ end
24
+ end
25
+
26
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe Socialization::RedisStores::Like do
4
+ before do
5
+ use_redis_store
6
+ @klass = Socialization::RedisStores::Like
7
+ @base = Socialization::RedisStores::Base
8
+ end
9
+
10
+ describe "method aliases" do
11
+ it "should be set properly and made public" do
12
+ expect(:like!).to be_a_public_method_of(@klass)
13
+ expect(:unlike!).to be_a_public_method_of(@klass)
14
+ expect(:likes?).to be_a_public_method_of(@klass)
15
+ expect(:likers_relation).to be_a_public_method_of(@klass)
16
+ expect(:likers).to be_a_public_method_of(@klass)
17
+ expect(:likeables_relation).to be_a_public_method_of(@klass)
18
+ expect(:likeables).to be_a_public_method_of(@klass)
19
+ expect(:remove_likers).to be_a_public_method_of(@klass)
20
+ expect(:remove_likeables).to be_a_public_method_of(@klass)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe Socialization::RedisStores::Follow do
4
+ before do
5
+ use_redis_store
6
+ @klass = Socialization::RedisStores::Mention
7
+ @base = Socialization::RedisStores::Base
8
+ end
9
+
10
+ describe "method aliases" do
11
+ it "should be set properly and made public" do
12
+ expect(:mention!).to be_a_public_method_of(@klass)
13
+ expect(:unmention!).to be_a_public_method_of(@klass)
14
+ expect(:mentions?).to be_a_public_method_of(@klass)
15
+ expect(:mentioners_relation).to be_a_public_method_of(@klass)
16
+ expect(:mentioners).to be_a_public_method_of(@klass)
17
+ expect(:mentionables_relation).to be_a_public_method_of(@klass)
18
+ expect(:mentionables).to be_a_public_method_of(@klass)
19
+ expect(:remove_mentioners).to be_a_public_method_of(@klass)
20
+ expect(:remove_mentionables).to be_a_public_method_of(@klass)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ describe String do
4
+ describe "#deep_const_get" do
5
+ it "should return a class" do
6
+ expect("Socialization".deep_const_get).to eq(Socialization)
7
+ expect("Socialization::ActiveRecordStores".deep_const_get).to eq(Socialization::ActiveRecordStores)
8
+ expect("Socialization::ActiveRecordStores::Follow".deep_const_get).to eq(Socialization::ActiveRecordStores::Follow)
9
+
10
+ expect { "Foo::Bar".deep_const_get }.to raise_error(NameError)
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,59 @@
1
+ require 'spec_helper'
2
+
3
+ describe Socialization::Followable do
4
+ before(:all) do
5
+ use_ar_store
6
+ @follower = ImAFollower.new
7
+ @followable = ImAFollowable.create
8
+ end
9
+
10
+ describe "#is_followable?" do
11
+ it "returns true" do
12
+ expect(@followable.is_followable?).to be true
13
+ end
14
+ end
15
+
16
+ describe "#followable?" do
17
+ it "returns true" do
18
+ expect(@followable.followable?).to be true
19
+ end
20
+ end
21
+
22
+ describe "#followed_by?" do
23
+ it "does not accept non-followers" do
24
+ expect { @followable.followed_by?(:foo) }.to raise_error(Socialization::ArgumentError)
25
+ end
26
+
27
+ it "calls $Follow.follows?" do
28
+ expect($Follow).to receive(:follows?).with(@follower, @followable).once
29
+ @followable.followed_by?(@follower)
30
+ end
31
+ end
32
+
33
+ describe "#followers" do
34
+ it "calls $Follow.followers" do
35
+ expect($Follow).to receive(:followers).with(@followable, @follower.class, { :foo => :bar })
36
+ @followable.followers(@follower.class, { :foo => :bar })
37
+ end
38
+ end
39
+
40
+ describe "#followers_relation" do
41
+ it "calls $Follow.followers_relation" do
42
+ expect($Follow).to receive(:followers_relation).with(@followable, @follower.class, { :foo => :bar })
43
+ @followable.followers_relation(@follower.class, { :foo => :bar })
44
+ end
45
+ end
46
+
47
+ describe "deleting a followable" do
48
+ before(:all) do
49
+ @follower = ImAFollower.create
50
+ @follower.follow!(@followable)
51
+ end
52
+
53
+ it "removes follow relationships" do
54
+ expect(Socialization.follow_model).to receive(:remove_followers).with(@followable)
55
+ @followable.destroy
56
+ end
57
+ end
58
+ end
59
+
@@ -0,0 +1,58 @@
1
+ require 'spec_helper'
2
+
3
+ describe Socialization::Likeable do
4
+ before(:all) do
5
+ use_ar_store
6
+ @liker = ImALiker.new
7
+ @likeable = ImALikeable.create
8
+ end
9
+
10
+ describe "#is_likeable?" do
11
+ it "returns true" do
12
+ expect(@likeable.is_likeable?).to be true
13
+ end
14
+ end
15
+
16
+ describe "#likeable?" do
17
+ it "returns true" do
18
+ expect(@likeable.likeable?).to be true
19
+ end
20
+ end
21
+
22
+ describe "#liked_by?" do
23
+ it "does not accept non-likers" do
24
+ expect { @likeable.liked_by?(:foo) }.to raise_error(Socialization::ArgumentError)
25
+ end
26
+
27
+ it "calls $Like.likes?" do
28
+ expect($Like).to receive(:likes?).with(@liker, @likeable).once
29
+ @likeable.liked_by?(@liker)
30
+ end
31
+ end
32
+
33
+ describe "#likers" do
34
+ it "calls $Like.likers" do
35
+ expect($Like).to receive(:likers).with(@likeable, @liker.class, { :foo => :bar })
36
+ @likeable.likers(@liker.class, { :foo => :bar })
37
+ end
38
+ end
39
+
40
+ describe "#likers_relation" do
41
+ it "calls $Like.likers_relation" do
42
+ expect($Like).to receive(:likers_relation).with(@likeable, @liker.class, { :foo => :bar })
43
+ @likeable.likers_relation(@liker.class, { :foo => :bar })
44
+ end
45
+ end
46
+
47
+ describe "deleting a likeable" do
48
+ before(:all) do
49
+ @liker = ImALiker.create
50
+ @liker.like!(@likeable)
51
+ end
52
+
53
+ it "removes like relationships" do
54
+ expect(Socialization.like_model).to receive(:remove_likers).with(@likeable)
55
+ @likeable.destroy
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,59 @@
1
+ require 'spec_helper'
2
+
3
+ describe Socialization::Mentionable do
4
+ before(:all) do
5
+ use_ar_store
6
+ @mentioner = ImAMentioner.new
7
+ @mentionable = ImAMentionable.create
8
+ end
9
+
10
+ describe "#is_mentionable?" do
11
+ it "returns true" do
12
+ expect(@mentionable.is_mentionable?).to be true
13
+ end
14
+ end
15
+
16
+ describe "#mentionable?" do
17
+ it "returns true" do
18
+ expect(@mentionable.mentionable?).to be true
19
+ end
20
+ end
21
+
22
+ describe "#mentioned_by?" do
23
+ it "does not accept non-mentioners" do
24
+ expect { @mentionable.mentioned_by?(:foo) }.to raise_error(Socialization::ArgumentError)
25
+ end
26
+
27
+ it "calls $Mention.mentions?" do
28
+ expect($Mention).to receive(:mentions?).with(@mentioner, @mentionable).once
29
+ @mentionable.mentioned_by?(@mentioner)
30
+ end
31
+ end
32
+
33
+ describe "#mentioners" do
34
+ it "calls $Mention.mentioners" do
35
+ expect($Mention).to receive(:mentioners).with(@mentionable, @mentioner.class, { :foo => :bar })
36
+ @mentionable.mentioners(@mentioner.class, { :foo => :bar })
37
+ end
38
+ end
39
+
40
+ describe "#mentioners_relation" do
41
+ it "calls $Mention.mentioners" do
42
+ expect($Mention).to receive(:mentioners_relation).with(@mentionable, @mentioner.class, { :foo => :bar })
43
+ @mentionable.mentioners_relation(@mentioner.class, { :foo => :bar })
44
+ end
45
+ end
46
+
47
+ describe "deleting a mentionable" do
48
+ before(:all) do
49
+ @mentioner = ImAMentioner.create
50
+ @mentioner.mention!(@mentionable)
51
+ end
52
+
53
+ it "removes mention relationships" do
54
+ expect(Socialization.mention_model).to receive(:remove_mentioners).with(@mentionable)
55
+ @mentionable.destroy
56
+ end
57
+ end
58
+
59
+ end
@@ -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 CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: socialization
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carl Mercier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-08 00:00:00.000000000 Z
11
+ date: 2015-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -53,7 +53,21 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: mocha
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
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - ">="
@@ -67,7 +81,7 @@ dependencies:
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
- name: shoulda
84
+ name: sqlite3
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - ">="
@@ -81,7 +95,7 @@ dependencies:
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
- name: sqlite3
98
+ name: yard
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - ">="
@@ -95,7 +109,7 @@ dependencies:
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
- name: yard
112
+ name: mock_redis
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - ">="
@@ -109,7 +123,21 @@ dependencies:
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
111
125
  - !ruby/object:Gem::Dependency
112
- name: mock_redis
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
113
141
  requirement: !ruby/object:Gem::Requirement
114
142
  requirements:
115
143
  - - ">="
@@ -132,10 +160,12 @@ extensions: []
132
160
  extra_rdoc_files: []
133
161
  files:
134
162
  - ".gitignore"
163
+ - ".ruby-version"
135
164
  - ".travis.yml"
136
165
  - Appraisals
137
166
  - CHANGELOG.md
138
167
  - Gemfile
168
+ - Guardfile
139
169
  - LICENSE
140
170
  - README.md
141
171
  - Rakefile
@@ -245,23 +275,26 @@ files:
245
275
  - lib/socialization/victims/likeable.rb
246
276
  - lib/socialization/victims/mentionable.rb
247
277
  - socialization.gemspec
248
- - test/actors/follower_test.rb
249
- - test/actors/liker_test.rb
250
- - test/actors/mentioner_test.rb
251
- - test/stores/active_record/follow_store_test.rb
252
- - test/stores/active_record/like_store_test.rb
253
- - test/stores/active_record/mention_store_test.rb
254
- - test/stores/redis/base_test.rb
255
- - test/stores/redis/config_test.rb
256
- - test/stores/redis/follow_store_test.rb
257
- - test/stores/redis/like_store_test.rb
258
- - test/stores/redis/mention_store_test.rb
259
- - test/string_test.rb
260
- - test/test_helper.rb
261
- - test/victims/followable_test.rb
262
- - test/victims/likeable_test.rb
263
- - test/victims/mentionable_test.rb
264
- - test/world_test.rb
278
+ - spec/actors/follower_spec.rb
279
+ - spec/actors/liker_spec.rb
280
+ - spec/actors/mentioner_spec.rb
281
+ - spec/spec_helper.rb
282
+ - spec/spec_support/data_stores.rb
283
+ - spec/spec_support/matchers.rb
284
+ - spec/stores/active_record/follow_store_spec.rb
285
+ - spec/stores/active_record/like_store_spec.rb
286
+ - spec/stores/active_record/mention_store_spec.rb
287
+ - spec/stores/active_record/mixins/base_spec.rb
288
+ - spec/stores/redis/base_spec.rb
289
+ - spec/stores/redis/config_spec.rb
290
+ - spec/stores/redis/follow_store_spec.rb
291
+ - spec/stores/redis/like_store_spec.rb
292
+ - spec/stores/redis/mention_store_spec.rb
293
+ - spec/string_spec.rb
294
+ - spec/victims/followable_spec.rb
295
+ - spec/victims/likeable_spec.rb
296
+ - spec/victims/mentionable_spec.rb
297
+ - spec/world_spec.rb
265
298
  homepage: https://github.com/cmer/socialization
266
299
  licenses: []
267
300
  metadata: {}
@@ -281,25 +314,29 @@ required_rubygems_version: !ruby/object:Gem::Requirement
281
314
  version: '0'
282
315
  requirements: []
283
316
  rubyforge_project:
284
- rubygems_version: 2.1.0
317
+ rubygems_version: 2.4.5
285
318
  signing_key:
286
319
  specification_version: 4
287
320
  summary: Easily socialize your app with Likes and Follows
288
321
  test_files:
289
- - test/actors/follower_test.rb
290
- - test/actors/liker_test.rb
291
- - test/actors/mentioner_test.rb
292
- - test/stores/active_record/follow_store_test.rb
293
- - test/stores/active_record/like_store_test.rb
294
- - test/stores/active_record/mention_store_test.rb
295
- - test/stores/redis/base_test.rb
296
- - test/stores/redis/config_test.rb
297
- - test/stores/redis/follow_store_test.rb
298
- - test/stores/redis/like_store_test.rb
299
- - test/stores/redis/mention_store_test.rb
300
- - test/string_test.rb
301
- - test/test_helper.rb
302
- - test/victims/followable_test.rb
303
- - test/victims/likeable_test.rb
304
- - test/victims/mentionable_test.rb
305
- - test/world_test.rb
322
+ - spec/actors/follower_spec.rb
323
+ - spec/actors/liker_spec.rb
324
+ - spec/actors/mentioner_spec.rb
325
+ - spec/spec_helper.rb
326
+ - spec/spec_support/data_stores.rb
327
+ - spec/spec_support/matchers.rb
328
+ - spec/stores/active_record/follow_store_spec.rb
329
+ - spec/stores/active_record/like_store_spec.rb
330
+ - spec/stores/active_record/mention_store_spec.rb
331
+ - spec/stores/active_record/mixins/base_spec.rb
332
+ - spec/stores/redis/base_spec.rb
333
+ - spec/stores/redis/config_spec.rb
334
+ - spec/stores/redis/follow_store_spec.rb
335
+ - spec/stores/redis/like_store_spec.rb
336
+ - spec/stores/redis/mention_store_spec.rb
337
+ - spec/string_spec.rb
338
+ - spec/victims/followable_spec.rb
339
+ - spec/victims/likeable_spec.rb
340
+ - spec/victims/mentionable_spec.rb
341
+ - spec/world_spec.rb
342
+ has_rdoc: false