socialization 1.1.0 → 1.2.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 (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