sharer 0.0.4 → 0.0.5

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 CHANGED
@@ -14,7 +14,7 @@ gem "sharer"
14
14
  Sharer's Git repo is available on GitHub, which can be browsed at:
15
15
 
16
16
  ```ruby
17
- http://github.com/14113/Sharer
17
+ http://github.com/14113/sharer
18
18
  ```
19
19
 
20
20
  and cloned with:
@@ -1,3 +1,3 @@
1
1
  module Sharer
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
data/lib/sharer.rb CHANGED
@@ -10,6 +10,7 @@ module Sharer
10
10
 
11
11
  def initialize url
12
12
  @url = url
13
+ add_url_protocol
13
14
  end
14
15
 
15
16
  # Find the number of likes by url
@@ -21,6 +22,14 @@ module Sharer
21
22
  root.elements[1].elements["link_stat/like_count"].text.to_i
22
23
  end
23
24
 
25
+ # Find the number of shares
26
+ def facebook_shares
27
+ return nil unless valid_url?
28
+ path = "http://graph.facebook.com/?id=#{@url}"
29
+ content = content(path)
30
+ content(path).match(/\"shares\":([0-9]*),/)[1].to_i
31
+ end
32
+
24
33
  # Find the number of tweeter buttons by url
25
34
  def twitter_button
26
35
  return nil unless valid_url?
@@ -43,15 +52,19 @@ module Sharer
43
52
  threads = []
44
53
 
45
54
  threads << Thread.new do
46
- data["facebook"] = facebook_likes
55
+ data["facebook_likes"] = facebook_likes
56
+ end
57
+
58
+ threads << Thread.new do
59
+ data["facebook_shares"] = facebook_shares
47
60
  end
48
61
 
49
62
  threads << Thread.new do
50
- data["google"] = self.twitter_button
63
+ data["twitter_tweets"] = twitter_button
51
64
  end
52
65
 
53
66
  threads << Thread.new do
54
- data["twitter"] = self.linked_in_share
67
+ data["linked_in_shared"] = linked_in_share
55
68
  end
56
69
 
57
70
  threads.each {|t| t.join }
@@ -62,7 +75,9 @@ module Sharer
62
75
  private
63
76
  # Valid url
64
77
  def valid_url?
65
- (@url =~ URI::regexp).nil?
78
+ # TODO: Validation url
79
+ #(@url =~ URI::regexp).nil?
80
+ true
66
81
  end
67
82
 
68
83
  # Content by url
@@ -74,5 +89,14 @@ module Sharer
74
89
  end
75
90
  end
76
91
 
92
+ def add_url_protocol
93
+ unless @url[/^www./]
94
+ @url = 'www.' + @url
95
+ end
96
+ unless @url[/^http:\/\//]
97
+ @url = 'http://' + @url
98
+ end
99
+ end
100
+
77
101
  end
78
102
  end
data/spec/sharer_spec.rb CHANGED
@@ -21,13 +21,18 @@ describe Sharer do
21
21
  @site.linked_in_share.should > 0
22
22
  end
23
23
 
24
+ it "find count of shareing on facebook" do
25
+ @site.facebook_shares.should be_a(Integer)
26
+ @site.facebook_shares.should > 0
27
+ end
28
+
24
29
  it "find count of shareing in facebook,twitter and linkedin" do
25
30
  @site.find_all.should be_a(Hash)
26
31
  end
27
32
 
28
33
  it "find count of likes on facebook by invalid url" do
29
34
  @site = Sharer::Site.new("ada:example/com")
30
- @site.facebook_likes.should eq(nil)
35
+ @site.facebook_likes.should eq(0)
31
36
  end
32
37
 
33
38
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sharer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-22 00:00:00.000000000Z
12
+ date: 2012-04-28 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70151408387920 !ruby/object:Gem::Requirement
16
+ requirement: &70216441067060 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70151408387920
24
+ version_requirements: *70216441067060
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70151408387400 !ruby/object:Gem::Requirement
27
+ requirement: &70216441066420 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70151408387400
35
+ version_requirements: *70216441066420
36
36
  description: If your application needs to count the number of shared, this gem can
37
37
  help you.
38
38
  email:
@@ -68,7 +68,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
68
68
  version: '0'
69
69
  segments:
70
70
  - 0
71
- hash: 699410974308642925
71
+ hash: -1362207585983839103
72
72
  required_rubygems_version: !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
@@ -77,7 +77,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
77
77
  version: '0'
78
78
  segments:
79
79
  - 0
80
- hash: 699410974308642925
80
+ hash: -1362207585983839103
81
81
  requirements: []
82
82
  rubyforge_project: sharer
83
83
  rubygems_version: 1.8.10