virility 0.0.6 → 0.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.
- data/README.md +83 -17
- data/lib/virility.rb +35 -3
- data/lib/virility/exceptions.rb +5 -0
- data/lib/virility/excitation.rb +26 -40
- data/lib/virility/strategies/delicious.rb +7 -8
- data/lib/virility/strategies/facebook.rb +12 -5
- data/lib/virility/strategies/pinterest.rb +8 -9
- data/lib/virility/strategies/plus_one.rb +4 -5
- data/lib/virility/strategies/stumble_upon.rb +4 -5
- data/lib/virility/strategies/twitter.rb +4 -5
- data/lib/virility/strategy.rb +98 -0
- data/lib/virility/supporter.rb +55 -0
- data/lib/virility/version.rb +1 -1
- data/spec/excitation_spec.rb +58 -33
- data/spec/spec_helper.rb +27 -0
- data/spec/strategies/delicious_spec.rb +66 -0
- data/spec/strategies/facebook_spec.rb +98 -0
- data/spec/strategies/pinterest_spec.rb +66 -0
- data/spec/strategies/plus_one_spec.rb +66 -0
- data/spec/strategies/stumble_upon_spec.rb +66 -0
- data/spec/strategies/twitter_spec.rb +66 -0
- data/spec/strategy_spec.rb +102 -0
- data/spec/virility_spec.rb +70 -1
- data/virility.gemspec +1 -1
- metadata +22 -8
- data/lib/virility/context.rb +0 -18
- data/spec/context_spec.rb +0 -31
@@ -0,0 +1,66 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe "Virility::Pinterest" do
|
4
|
+
before(:each) do
|
5
|
+
@url = "http://creativeallies.com"
|
6
|
+
end
|
7
|
+
|
8
|
+
describe "poll" do
|
9
|
+
context "when there is not a valid result" do
|
10
|
+
before(:each) do
|
11
|
+
response = double("HTTParty::Response", :parsed_response => {"fake_return_value"=> "OICU812"})
|
12
|
+
Virility::Pinterest.stub(:get).and_return(response)
|
13
|
+
@virility = Virility::Pinterest.new(@url)
|
14
|
+
end
|
15
|
+
|
16
|
+
it_should_behave_like "no context results"
|
17
|
+
end
|
18
|
+
|
19
|
+
context "when there is no result" do
|
20
|
+
before(:each) do
|
21
|
+
response = double("HTTParty::Response")
|
22
|
+
Virility::Pinterest.stub(:get).and_return(response)
|
23
|
+
@virility = Virility::Pinterest.new(@url)
|
24
|
+
end
|
25
|
+
|
26
|
+
it_should_behave_like "no context results"
|
27
|
+
end
|
28
|
+
|
29
|
+
context "when there is a result but no specific hash value" do
|
30
|
+
before(:each) do
|
31
|
+
response = double("HTTParty::Response", :parsed_response => {})
|
32
|
+
Virility::Pinterest.stub(:get).and_return(response)
|
33
|
+
@virility = Virility::Pinterest.new(@url)
|
34
|
+
end
|
35
|
+
|
36
|
+
it_should_behave_like "no context results"
|
37
|
+
end
|
38
|
+
|
39
|
+
context "when there is a result but parsed_response is weird" do
|
40
|
+
before(:each) do
|
41
|
+
response = double("HTTParty::Response", :parsed_response => Object.new)
|
42
|
+
Virility::Pinterest.stub(:get).and_return(response)
|
43
|
+
@virility = Virility::Pinterest.new(@url)
|
44
|
+
end
|
45
|
+
|
46
|
+
it_should_behave_like "no context results"
|
47
|
+
end
|
48
|
+
|
49
|
+
context "when there is a valid result" do
|
50
|
+
before(:each) do
|
51
|
+
response = double("HTTParty::Response", :parsed_response => {"count"=>1, "url"=>"http://creativeallies.com"})
|
52
|
+
Virility::Pinterest.stub(:get).and_return(response)
|
53
|
+
@virility = Virility::Pinterest.new(@url)
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should not raise an error" do
|
57
|
+
lambda { @virility.poll }.should_not raise_error
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should return 1 for the count" do
|
61
|
+
@virility.count.should == 1
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe "Virility::PlusOne" do
|
4
|
+
before(:each) do
|
5
|
+
@url = "http://creativeallies.com"
|
6
|
+
end
|
7
|
+
|
8
|
+
describe "poll" do
|
9
|
+
context "when there is not a valid result" do
|
10
|
+
before(:each) do
|
11
|
+
response = double("HTTParty::Response", :parsed_response => {"fake_return_value"=> "OICU812"})
|
12
|
+
Virility::PlusOne.stub(:get).and_return(response)
|
13
|
+
@virility = Virility::PlusOne.new(@url)
|
14
|
+
end
|
15
|
+
|
16
|
+
it_should_behave_like "no context results"
|
17
|
+
end
|
18
|
+
|
19
|
+
context "when there is no result" do
|
20
|
+
before(:each) do
|
21
|
+
response = double("HTTParty::Response")
|
22
|
+
Virility::PlusOne.stub(:get).and_return(response)
|
23
|
+
@virility = Virility::PlusOne.new(@url)
|
24
|
+
end
|
25
|
+
|
26
|
+
it_should_behave_like "no context results"
|
27
|
+
end
|
28
|
+
|
29
|
+
context "when there is a result but no specific hash value" do
|
30
|
+
before(:each) do
|
31
|
+
response = double("HTTParty::Response", :parsed_response => {})
|
32
|
+
Virility::PlusOne.stub(:get).and_return(response)
|
33
|
+
@virility = Virility::PlusOne.new(@url)
|
34
|
+
end
|
35
|
+
|
36
|
+
it_should_behave_like "no context results"
|
37
|
+
end
|
38
|
+
|
39
|
+
context "when there is a result but parsed_response is weird" do
|
40
|
+
before(:each) do
|
41
|
+
response = double("HTTParty::Response", :parsed_response => Object.new)
|
42
|
+
Virility::PlusOne.stub(:get).and_return(response)
|
43
|
+
@virility = Virility::PlusOne.new(@url)
|
44
|
+
end
|
45
|
+
|
46
|
+
it_should_behave_like "no context results"
|
47
|
+
end
|
48
|
+
|
49
|
+
context "when there is a valid result" do
|
50
|
+
before(:each) do
|
51
|
+
response = double("HTTParty::Response", :parsed_response => {"shares"=>"8"})
|
52
|
+
Virility::PlusOne.stub(:get).and_return(response)
|
53
|
+
@virility = Virility::PlusOne.new(@url)
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should not raise an error" do
|
57
|
+
lambda { @virility.poll }.should_not raise_error
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should return 8 for the count" do
|
61
|
+
@virility.count.should == 8
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe "Virility::StumbleUpon" do
|
4
|
+
before(:each) do
|
5
|
+
@url = "http://creativeallies.com"
|
6
|
+
end
|
7
|
+
|
8
|
+
describe "poll" do
|
9
|
+
context "when there is not a valid result" do
|
10
|
+
before(:each) do
|
11
|
+
response = double("HTTParty::Response", :parsed_response => {"fake_return_value"=> "OICU812"})
|
12
|
+
Virility::StumbleUpon.stub(:get).and_return(response)
|
13
|
+
@virility = Virility::StumbleUpon.new(@url)
|
14
|
+
end
|
15
|
+
|
16
|
+
it_should_behave_like "no context results"
|
17
|
+
end
|
18
|
+
|
19
|
+
context "when there is no result" do
|
20
|
+
before(:each) do
|
21
|
+
response = double("HTTParty::Response")
|
22
|
+
Virility::StumbleUpon.stub(:get).and_return(response)
|
23
|
+
@virility = Virility::StumbleUpon.new(@url)
|
24
|
+
end
|
25
|
+
|
26
|
+
it_should_behave_like "no context results"
|
27
|
+
end
|
28
|
+
|
29
|
+
context "when there is a result but no specific hash value" do
|
30
|
+
before(:each) do
|
31
|
+
response = double("HTTParty::Response", :parsed_response => {})
|
32
|
+
Virility::StumbleUpon.stub(:get).and_return(response)
|
33
|
+
@virility = Virility::StumbleUpon.new(@url)
|
34
|
+
end
|
35
|
+
|
36
|
+
it_should_behave_like "no context results"
|
37
|
+
end
|
38
|
+
|
39
|
+
context "when there is a result but parsed_response is weird" do
|
40
|
+
before(:each) do
|
41
|
+
response = double("HTTParty::Response", :parsed_response => Object.new)
|
42
|
+
Virility::StumbleUpon.stub(:get).and_return(response)
|
43
|
+
@virility = Virility::StumbleUpon.new(@url)
|
44
|
+
end
|
45
|
+
|
46
|
+
it_should_behave_like "no context results"
|
47
|
+
end
|
48
|
+
|
49
|
+
context "when there is a valid result" do
|
50
|
+
before(:each) do
|
51
|
+
response = double("HTTParty::Response", :parsed_response => {"url"=>"http://creativeallies.com/", "in_index"=>true, "publicid"=>"2UhTwK", "views"=>4731, "title"=>"Creative Allies | Create Art For Rockstars | Upload For A Chance To Win", "thumbnail"=>"http://cdn.stumble-upon.com/mthumb/388/49348388.jpg", "thumbnail_b"=>"http://cdn.stumble-upon.com/images/nobthumb.png", "submit_link"=>"http://www.stumbleupon.com/submit/?url=http://creativeallies.com/", "badge_link"=>"http://www.stumbleupon.com/badge/?url=http://creativeallies.com/", "info_link"=>"http://www.stumbleupon.com/url/creativeallies.com/"})
|
52
|
+
Virility::StumbleUpon.stub(:get).and_return(response)
|
53
|
+
@virility = Virility::StumbleUpon.new(@url)
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should not raise an error" do
|
57
|
+
lambda { @virility.poll }.should_not raise_error
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should return 4731 for the count" do
|
61
|
+
@virility.count.should == 4731
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe "Virility::Twitter" do
|
4
|
+
before(:each) do
|
5
|
+
@url = "http://creativeallies.com"
|
6
|
+
end
|
7
|
+
|
8
|
+
describe "poll" do
|
9
|
+
context "when there is not a valid result" do
|
10
|
+
before(:each) do
|
11
|
+
response = double("HTTParty::Response", :parsed_response => {"fake_return_value"=> "OICU812"})
|
12
|
+
Virility::Twitter.stub(:get).and_return(response)
|
13
|
+
@virility = Virility::Twitter.new(@url)
|
14
|
+
end
|
15
|
+
|
16
|
+
it_should_behave_like "no context results"
|
17
|
+
end
|
18
|
+
|
19
|
+
context "when there is no result" do
|
20
|
+
before(:each) do
|
21
|
+
response = double("HTTParty::Response")
|
22
|
+
Virility::Twitter.stub(:get).and_return(response)
|
23
|
+
@virility = Virility::Twitter.new(@url)
|
24
|
+
end
|
25
|
+
|
26
|
+
it_should_behave_like "no context results"
|
27
|
+
end
|
28
|
+
|
29
|
+
context "when there is a result but no specific hash value" do
|
30
|
+
before(:each) do
|
31
|
+
response = double("HTTParty::Response", :parsed_response => {})
|
32
|
+
Virility::Twitter.stub(:get).and_return(response)
|
33
|
+
@virility = Virility::Twitter.new(@url)
|
34
|
+
end
|
35
|
+
|
36
|
+
it_should_behave_like "no context results"
|
37
|
+
end
|
38
|
+
|
39
|
+
context "when there is a result but parsed_response is weird" do
|
40
|
+
before(:each) do
|
41
|
+
response = double("HTTParty::Response", :parsed_response => Object.new)
|
42
|
+
Virility::Twitter.stub(:get).and_return(response)
|
43
|
+
@virility = Virility::Twitter.new(@url)
|
44
|
+
end
|
45
|
+
|
46
|
+
it_should_behave_like "no context results"
|
47
|
+
end
|
48
|
+
|
49
|
+
context "when there is a valid result" do
|
50
|
+
before(:each) do
|
51
|
+
response = double("HTTParty::Response", :parsed_response => {"count"=>121, "url"=>"http://creativeallies.com/"})
|
52
|
+
Virility::Twitter.stub(:get).and_return(response)
|
53
|
+
@virility = Virility::Twitter.new(@url)
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should not raise an error" do
|
57
|
+
lambda { @virility.poll }.should_not raise_error
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should return 121 for the count" do
|
61
|
+
@virility.count.should == 121
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe "Strategy" do
|
4
|
+
before(:each) do
|
5
|
+
@url = "http://creativeallies.com"
|
6
|
+
end
|
7
|
+
|
8
|
+
#
|
9
|
+
# Initialization
|
10
|
+
#
|
11
|
+
|
12
|
+
context "initialization" do
|
13
|
+
it "should raise an error if a URL is not set" do
|
14
|
+
lambda {Virility::Strategy.new}.should raise_error
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should set and encode the url" do
|
18
|
+
Virility::Facebook.new(@url).url.should == "http%3A%2F%2Fcreativeallies.com"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
#
|
23
|
+
# Interface
|
24
|
+
#
|
25
|
+
|
26
|
+
context "interface" do
|
27
|
+
it "should raise an error on poll" do
|
28
|
+
lambda { Virility::Strategy.new(@url).poll }.should raise_error
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should raise an error on count" do
|
32
|
+
lambda { Virility::Strategy.new(@url).count }.should raise_error
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
#
|
37
|
+
# Dynamic Methods
|
38
|
+
#
|
39
|
+
|
40
|
+
describe "dynamic methods" do
|
41
|
+
before(:each) do
|
42
|
+
@virility = Virility::Facebook.new(@url)
|
43
|
+
@virility.stub(:results).and_return(Virility::FB_RESULTS)
|
44
|
+
end
|
45
|
+
|
46
|
+
context "overall testing" do
|
47
|
+
Virility::FB_RESULTS.each do |key, value|
|
48
|
+
it "should return #{value} when get_result is called with #{key}" do
|
49
|
+
@virility.send(key).should == value
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
Virility::FAKE_FB_RESULTS.each do |key|
|
54
|
+
it "should_not raise an error if the result (#{key}) does not exist" do
|
55
|
+
lambda { @virility.send(key) }.should_not raise_error
|
56
|
+
end
|
57
|
+
|
58
|
+
it "should return 0 if the result (#{key}) does not exist" do
|
59
|
+
@virility.send(key).should == 0
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
context "result_exists?" do
|
65
|
+
before(:each) do
|
66
|
+
@virility = Virility::Facebook.new(@url)
|
67
|
+
@virility.stub(:results).and_return(Virility::FB_RESULTS)
|
68
|
+
end
|
69
|
+
|
70
|
+
Virility::FB_RESULTS.keys.each do |result|
|
71
|
+
it "should return true for #{result}" do
|
72
|
+
@virility.result_exists?(result).should be true
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
Virility::FAKE_FB_RESULTS.each do |result|
|
77
|
+
it "should return false for #{result}" do
|
78
|
+
@virility.result_exists?(result).should be false
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
context "get_result" do
|
84
|
+
Virility::FB_RESULTS.each do |key, value|
|
85
|
+
it "should return #{value} when get_result is called with #{key}" do
|
86
|
+
@virility.get_result(key).should == value
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
Virility::FAKE_FB_RESULTS.each do |key|
|
91
|
+
it "should_not raise an error if the result (#{key}) does not exist" do
|
92
|
+
lambda { @virility.send(key) }.should_not raise_error
|
93
|
+
end
|
94
|
+
|
95
|
+
it "should return 0 if the result (#{key}) does not exist" do
|
96
|
+
@virility.send(key).should == 0
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
end
|
102
|
+
end
|
data/spec/virility_spec.rb
CHANGED
@@ -1,5 +1,74 @@
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
2
|
|
3
3
|
describe "Virility" do
|
4
|
-
|
4
|
+
|
5
|
+
#
|
6
|
+
# Factory
|
7
|
+
#
|
8
|
+
|
9
|
+
describe "factory" do
|
10
|
+
context "valid strategies" do
|
11
|
+
Virility::TESTING_STRATEGIES.each do |strategy, object|
|
12
|
+
it "#{strategy} should create and return a #{object} object" do
|
13
|
+
Virility.factory(strategy, "http://creativeallies.com").should be_a_kind_of object
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
context "invalid strategies" do
|
19
|
+
Virility::FAKE_TESTING_STRATEGIES.each do |strategy|
|
20
|
+
it "#{strategy} should raise an error" do
|
21
|
+
lambda { Virility.factory(strategy, "http://creativeallies.com") }.should raise_error
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
#
|
28
|
+
# Public API
|
29
|
+
#
|
30
|
+
|
31
|
+
describe "Public API testing" do
|
32
|
+
before(:each) do
|
33
|
+
@url = "http://creativeallies.com"
|
34
|
+
Virility::Delicious.stub(:get).and_return(double("HTTParty::Response", :parsed_response => {"url"=>"http://creativeallies.com/", "total_posts"=>50, "top_tags"=>{"graphic"=>1, "art"=>1, "contest"=>1, "photography"=>1, "creativity"=>1, "design"=>1, "online"=>1, "music"=>1, "contests"=>1, "freelance"=>1}, "hash"=>"f9468b2d2842d4a9685af46e1b8e9349", "title"=>"Creative Allies | Create Art For Rockstars"}))
|
35
|
+
Virility::Facebook.stub(:get).and_return(double("HTTParty::Response", :parsed_response => {"fql_query_response"=>{"list"=>"true", "link_stat"=>{"like_count"=>"977662", "click_count"=>"265614", "share_count"=>"3020040", "comment_count"=>"1118601", "commentsbox_count"=>"0", "total_count"=>"5116303"}}}))
|
36
|
+
Virility::Pinterest.stub(:get).and_return(double("HTTParty::Response", :parsed_response => {"count"=>1, "url"=>"http://creativeallies.com"}))
|
37
|
+
Virility::PlusOne.stub(:get).and_return(double("HTTParty::Response", :parsed_response => {"shares"=>"8"}))
|
38
|
+
Virility::StumbleUpon.stub(:get).and_return(double("HTTParty::Response", :parsed_response => {"url"=>"http://creativeallies.com/", "in_index"=>true, "publicid"=>"2UhTwK", "views"=>4731, "title"=>"Creative Allies | Create Art For Rockstars | Upload For A Chance To Win", "thumbnail"=>"http://cdn.stumble-upon.com/mthumb/388/49348388.jpg", "thumbnail_b"=>"http://cdn.stumble-upon.com/images/nobthumb.png", "submit_link"=>"http://www.stumbleupon.com/submit/?url=http://creativeallies.com/", "badge_link"=>"http://www.stumbleupon.com/badge/?url=http://creativeallies.com/", "info_link"=>"http://www.stumbleupon.com/url/creativeallies.com/"}))
|
39
|
+
Virility::Twitter.stub(:get).and_return(double("HTTParty::Response", :parsed_response => {"count"=>121, "url"=>"http://creativeallies.com/"}))
|
40
|
+
end
|
41
|
+
|
42
|
+
it "Virility.counts should return a hash of counts" do
|
43
|
+
Virility.counts(@url).should == {:delicious=>50, :facebook=>5116303, :pinterest=>1, :plus_one=>8, :stumble_upon=>4731, :twitter=>121}
|
44
|
+
end
|
45
|
+
|
46
|
+
it "Virility.total should return the total count" do
|
47
|
+
Virility.total(@url).should == 5121214
|
48
|
+
end
|
49
|
+
|
50
|
+
it "Virility.poll should return all of the hashed responses" do
|
51
|
+
Virility.poll(@url).should == {:delicious=>{"url"=>"http://creativeallies.com/", "total_posts"=>50, "top_tags"=>{"graphic"=>1, "art"=>1, "contest"=>1, "photography"=>1, "creativity"=>1, "design"=>1, "online"=>1, "music"=>1, "contests"=>1, "freelance"=>1}, "hash"=>"f9468b2d2842d4a9685af46e1b8e9349", "title"=>"Creative Allies | Create Art For Rockstars"}, :facebook=>{"like_count"=>"977662", "click_count"=>"265614", "share_count"=>"3020040", "comment_count"=>"1118601", "commentsbox_count"=>"0", "total_count"=>"5116303"}, :pinterest=>{"count"=>1, "url"=>"http://creativeallies.com"}, :plus_one=>{"shares"=>"8"}, :stumble_upon=>{"url"=>"http://creativeallies.com/", "in_index"=>true, "publicid"=>"2UhTwK", "views"=>4731, "title"=>"Creative Allies | Create Art For Rockstars | Upload For A Chance To Win", "thumbnail"=>"http://cdn.stumble-upon.com/mthumb/388/49348388.jpg", "thumbnail_b"=>"http://cdn.stumble-upon.com/images/nobthumb.png", "submit_link"=>"http://www.stumbleupon.com/submit/?url=http://creativeallies.com/", "badge_link"=>"http://www.stumbleupon.com/badge/?url=http://creativeallies.com/", "info_link"=>"http://www.stumbleupon.com/url/creativeallies.com/"}, :twitter=>{"count"=>121, "url"=>"http://creativeallies.com/"}}
|
52
|
+
end
|
53
|
+
|
54
|
+
it "Virility.url should return a Virility::Excitation object" do
|
55
|
+
Virility.url(@url).should be_a_kind_of Virility::Excitation
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
#
|
60
|
+
# Error Proofing
|
61
|
+
#
|
62
|
+
|
63
|
+
describe "Error Proofing" do
|
64
|
+
it "should not raise an error with a bad URL" do
|
65
|
+
lambda { Virility.counts("http://this.is.a.crap.url") }.should_not raise_error
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should return 0 for all strategy counts" do
|
69
|
+
@virility = Virility.url("http://this.is.a.crap.url")
|
70
|
+
@virility.total.should == 0
|
71
|
+
@virility.counts.should == {:delicious=>0, :facebook=>0, :pinterest=>0, :plus_one=>0, :stumble_upon=>0, :twitter=>0}
|
72
|
+
end
|
73
|
+
end
|
5
74
|
end
|
data/virility.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |gem|
|
|
11
11
|
gem.email = ["mindtonic@gmail.com"]
|
12
12
|
gem.description = "Virility leverages the API's of many popular social services to collect data about the virility of a particular URL."
|
13
13
|
gem.summary = "Virility calls upon the API's of many popular social services such as Facebook, Twitter and Pinterest to collect the number of likes, tweets and pins of a particular URL. Written with a modular construction, Virility makes it easy to drop new data collection strategies into the framework so that you can collect all of your statistics in one easy location."
|
14
|
-
gem.homepage = ""
|
14
|
+
gem.homepage = "http://github.com/mindtonic/virility"
|
15
15
|
# Files
|
16
16
|
gem.files = `git ls-files`.split($/)
|
17
17
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|