just_share 1.0.0 → 1.0.1
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.
- checksums.yaml +4 -4
- data/lib/just_share/delicious.rb +15 -1
- data/lib/just_share/linked_in.rb +16 -0
- data/lib/just_share/social_linker.rb +3 -1
- data/lib/just_share/version.rb +1 -1
- data/lib/just_share.rb +21 -3
- data/spec/just_share/just_share_spec.rb +50 -15
- metadata +3 -14
- data/spec/just_share/delicious_spec.rb +0 -5
- data/spec/just_share/facebook_spec.rb +0 -5
- data/spec/just_share/google_plus_spec.rb +0 -5
- data/spec/just_share/pinterest_spec.rb +0 -5
- data/spec/just_share/tumblr_spec.rb +0 -5
- data/spec/just_share/twitter_spec.rb +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ea6c057971aba6f9931e17c943c5975a5df9565
|
4
|
+
data.tar.gz: 2b4b04e9c3f9c5c9ce6354c5c9a941e115b39d48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53b474afdf8d3209e96f48a237a718d66574f2c1ca420b05d9b846cd609424c612542c7398a9d48830a645c7fd6603cf09333d67a74947a32de40bb64c6b6e3d
|
7
|
+
data.tar.gz: 17f8577cc2c3621679bb230587bf89731af52f487c66fae3ecefa93b0cacddb748c26cb163385b270a4780324f1e7dffd68c374dfb58fe8b05b130bbd1a3626d
|
data/lib/just_share/delicious.rb
CHANGED
@@ -1,2 +1,16 @@
|
|
1
|
-
class JustShare::Delicious
|
1
|
+
class JustShare::Delicious < JustShare::SocialLinker
|
2
|
+
def setup_attrs
|
3
|
+
# Base URL
|
4
|
+
self.domain='https://delicious.com'
|
5
|
+
self.path='save'
|
6
|
+
|
7
|
+
# Params (for twitter it is possible set more params on URL, but to more style check it tags documentation)
|
8
|
+
url_param = "url=#{self.link}"
|
9
|
+
title_param = "title=#{self.title}"
|
10
|
+
tags_param = "tags=#{JustShare.array_to_str_params self.hash_tags}"
|
11
|
+
text_param = "note=#{self.message}"
|
12
|
+
|
13
|
+
# build the params
|
14
|
+
self.params = "mini=true&#{url_param}&#{title_param}&#{tags_param}&#{text_param}"
|
15
|
+
end
|
2
16
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class JustShare::LinkedIn < JustShare::SocialLinker
|
2
|
+
def setup_attrs
|
3
|
+
# Base URL
|
4
|
+
self.domain='https://www.linkedin.com'
|
5
|
+
self.path='shareArticle'
|
6
|
+
|
7
|
+
# Params (for twitter it is possible set more params on URL, but to more style check it tags documentation)
|
8
|
+
url_param = "url=#{self.link}"
|
9
|
+
title_param = "title=#{self.title}"
|
10
|
+
text_param = "summary=#{self.message}"
|
11
|
+
image_param = "source=#{self.image_url}"
|
12
|
+
|
13
|
+
# build the params
|
14
|
+
self.params = "mini=true&#{url_param}&#{title_param}&#{text_param}&#{image_param}"
|
15
|
+
end
|
16
|
+
end
|
@@ -3,6 +3,7 @@ require 'cgi'
|
|
3
3
|
# ParentClass which have the attrs to create the links
|
4
4
|
class JustShare::SocialLinker
|
5
5
|
# Attrs accessor for it classes
|
6
|
+
attr_accessor :title # title on the message
|
6
7
|
attr_accessor :message # Base Message (like from the Ad.social_message)
|
7
8
|
attr_accessor :aux_link # The redirect link on the post
|
8
9
|
attr_accessor :via # The app which post like: PageRenter
|
@@ -19,6 +20,7 @@ class JustShare::SocialLinker
|
|
19
20
|
# SetUp the attrs
|
20
21
|
self.via=params[:via] || self.via=JustShare.via
|
21
22
|
self.aux_link=params[:link] || self.aux_link=JustShare.link
|
23
|
+
self.title=params[:title] || self.message=JustShare.title
|
22
24
|
self.message=params[:message] || self.message=JustShare.message
|
23
25
|
self.hash_tags=params[:hash_tags] || self.hash_tags=JustShare.hash_tags
|
24
26
|
self.image_url=params[:image_url] || self.hash_tags=JustShare.image_url
|
@@ -34,7 +36,7 @@ class JustShare::SocialLinker
|
|
34
36
|
|
35
37
|
# Overwriting the link getter to return it encoded as HTTP uses
|
36
38
|
def link
|
37
|
-
CGI::escape(self.aux_link)
|
39
|
+
CGI::escape(self.aux_link) unless self.aux_link.nil?
|
38
40
|
end
|
39
41
|
|
40
42
|
# Method to be implemented on it children!
|
data/lib/just_share/version.rb
CHANGED
data/lib/just_share.rb
CHANGED
@@ -3,13 +3,19 @@ require 'json'
|
|
3
3
|
require 'rest_client'
|
4
4
|
|
5
5
|
# Gem files
|
6
|
-
|
6
|
+
files = [
|
7
|
+
:version, :string, :social_linker, :blogger,
|
8
|
+
:facebook, :google_plus, :linked_in, :pinterest,
|
9
|
+
:twitter, :delicious, :tumblr
|
10
|
+
]
|
11
|
+
files.each { |lib| require "just_share/#{lib}" }
|
7
12
|
|
8
13
|
# Module to have "global accessible vars to it gem scope"
|
9
14
|
module JustShare
|
10
15
|
# Attrs to ConfigThe Module & reuse those attrs
|
11
16
|
@via
|
12
17
|
@link
|
18
|
+
@title
|
13
19
|
@message
|
14
20
|
@hash_tags
|
15
21
|
@image_url
|
@@ -44,6 +50,10 @@ module JustShare
|
|
44
50
|
@link=link
|
45
51
|
end
|
46
52
|
|
53
|
+
def self.title=(title)
|
54
|
+
@title=title
|
55
|
+
end
|
56
|
+
|
47
57
|
def self.message=(message)
|
48
58
|
@message=message
|
49
59
|
end
|
@@ -58,14 +68,22 @@ module JustShare
|
|
58
68
|
@via
|
59
69
|
end
|
60
70
|
|
61
|
-
def self.
|
71
|
+
def self.link
|
62
72
|
@link
|
63
73
|
end
|
64
|
-
|
74
|
+
|
75
|
+
def self.title
|
76
|
+
@title
|
77
|
+
end
|
78
|
+
|
65
79
|
def self.message
|
66
80
|
@message
|
67
81
|
end
|
68
82
|
|
83
|
+
def self.image_url
|
84
|
+
@image_url
|
85
|
+
end
|
86
|
+
|
69
87
|
def self.hash_tags
|
70
88
|
@hash_tags.nil? ? @hash_tags=[] : @hash_tags
|
71
89
|
end
|
@@ -4,24 +4,26 @@ describe JustShare do
|
|
4
4
|
describe 'Links write spelled & accessible' do
|
5
5
|
# SetUp for all tests
|
6
6
|
before(:all) do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
message = 'Partiu compartilhar!'
|
11
|
-
hash_tags = ['partiu','partiu2']
|
12
|
-
url_image = 'https://avatars3.githubusercontent.com/u/7591935'
|
7
|
+
@via = 'PageRenter'
|
8
|
+
@link = 'http://goo.gl'
|
9
|
+
@title = 'Titulado aqui oh!'
|
10
|
+
@message = 'Partiu compartilhar!'
|
11
|
+
@hash_tags = ['partiu','partiu2']
|
12
|
+
@url_image = 'https://avatars3.githubusercontent.com/u/7591935'
|
13
13
|
|
14
14
|
# Global useful vars
|
15
|
-
@base_hash = {via
|
15
|
+
@base_hash = {via:@via, link:@link, title:@title, message:@message, hash_tags:@hash_tags, image_url:@url_image}
|
16
16
|
|
17
17
|
# Expected URLs generated:
|
18
|
-
link = CGI::escape(link)
|
19
|
-
@facebook_expected_url = "https://www.facebook.com/sharer/sharer.php?u=#{link}"
|
20
|
-
@twitter_expected_url = "https://twitter.com/intent/tweet?text=#{message}&url=#{link}&via=#{via}&hashtags=#{JustShare.array_to_str_params(hash_tags)}"
|
21
|
-
@google_plus_expected_url = "https://plus.google.com/share?url=#{link}"
|
22
|
-
@pinterest_expected_url = "http://pinterest.com/pin/create/bookmarklet?url=#{link}&description=#{message}&media=#{url_image}"
|
23
|
-
@tumblr_expected_url = "https://www.tumblr.com/share?u=#{link}&t=#{message}"
|
24
|
-
@blogger_expected_url = "https://www.blogger.com/blog_this.pyra?u=#{link}&n=#{message}"
|
18
|
+
@link = CGI::escape(@link)
|
19
|
+
@facebook_expected_url = "https://www.facebook.com/sharer/sharer.php?u=#{@link}"
|
20
|
+
@twitter_expected_url = "https://twitter.com/intent/tweet?text=#{@message}&url=#{@link}&via=#{@via}&hashtags=#{JustShare.array_to_str_params(@hash_tags)}"
|
21
|
+
@google_plus_expected_url = "https://plus.google.com/share?url=#{@link}"
|
22
|
+
@pinterest_expected_url = "http://pinterest.com/pin/create/bookmarklet?url=#{@link}&description=#{@message}&media=#{@url_image}"
|
23
|
+
@tumblr_expected_url = "https://www.tumblr.com/share?u=#{@link}&t=#{@message}"
|
24
|
+
@blogger_expected_url = "https://www.blogger.com/blog_this.pyra?u=#{@link}&n=#{@message}"
|
25
|
+
@linked_in_expected_url = "https://www.linkedin.com/shareArticle?mini=true&url=#{@link}&title=#{@title}&summary=#{@message}&source=#{@url_image}"
|
26
|
+
@delicious_expected_url = "https://delicious.com/save?mini=true&url=#{@link}&title=#{@title}&tags=#{JustShare.array_to_str_params(@hash_tags)}¬e=#{@message}"
|
25
27
|
end
|
26
28
|
|
27
29
|
# SetUp for each tests
|
@@ -34,9 +36,21 @@ describe JustShare do
|
|
34
36
|
#@url_generated = JustShare.on(@base_hash)
|
35
37
|
end
|
36
38
|
|
37
|
-
it "
|
39
|
+
it "Global config" do
|
40
|
+
JustShare.via=@via
|
41
|
+
JustShare.link=CGI::unescape(@link)
|
42
|
+
JustShare.title=@title
|
43
|
+
JustShare.message=@message
|
44
|
+
JustShare.hash_tags=@hash_tags
|
45
|
+
|
46
|
+
@url_generated = JustShare.on({social: :facebook})
|
47
|
+
expect(@url_generated).to be_equals @facebook_expected_url
|
48
|
+
end
|
49
|
+
|
50
|
+
it "Facebook" do
|
38
51
|
@base_hash[:social] = :facebook
|
39
52
|
@url_generated = JustShare.on(@base_hash)
|
53
|
+
puts @url_generated
|
40
54
|
expect(@url_generated).to be_equals @facebook_expected_url
|
41
55
|
#expect(accessible?(@url_generated)).to be_truthy
|
42
56
|
end
|
@@ -44,6 +58,7 @@ describe JustShare do
|
|
44
58
|
it "Twitter" do
|
45
59
|
@base_hash[:social] = :twitter
|
46
60
|
@url_generated = JustShare.on(@base_hash)
|
61
|
+
puts @url_generated
|
47
62
|
expect(@url_generated).to be_equals @twitter_expected_url
|
48
63
|
#expect(accessible?(@url_generated)).to be_truthy
|
49
64
|
end
|
@@ -51,13 +66,23 @@ describe JustShare do
|
|
51
66
|
it "GooglePlus" do
|
52
67
|
@base_hash[:social] = 'google-plus'
|
53
68
|
@url_generated = JustShare.on(@base_hash)
|
69
|
+
puts @url_generated
|
54
70
|
expect(@url_generated).to be_equals @google_plus_expected_url
|
55
71
|
#expect(accessible?(@url_generated)).to be_truthy
|
56
72
|
end
|
57
73
|
|
74
|
+
it "LinkedIn" do
|
75
|
+
@base_hash[:social] = 'linked-in'
|
76
|
+
@url_generated = JustShare.on(@base_hash)
|
77
|
+
puts @url_generated
|
78
|
+
expect(@url_generated).to be_equals @linked_in_expected_url
|
79
|
+
#expect(accessible?(@url_generated)).to be_truthy
|
80
|
+
end
|
81
|
+
|
58
82
|
it "Pinterest" do
|
59
83
|
@base_hash[:social] = :pinterest
|
60
84
|
@url_generated = JustShare.on(@base_hash)
|
85
|
+
puts @url_generated
|
61
86
|
expect(@url_generated).to be_equals @pinterest_expected_url
|
62
87
|
#expect(accessible?(@url_generated)).to be_truthy
|
63
88
|
end
|
@@ -65,6 +90,7 @@ describe JustShare do
|
|
65
90
|
it "Tumblr" do
|
66
91
|
@base_hash[:social] = :tumblr
|
67
92
|
@url_generated = JustShare.on(@base_hash)
|
93
|
+
puts @url_generated
|
68
94
|
expect(@url_generated).to be_equals @tumblr_expected_url
|
69
95
|
#expect(accessible?(@url_generated)).to be_truthy
|
70
96
|
end
|
@@ -72,8 +98,17 @@ describe JustShare do
|
|
72
98
|
it "Blogger" do
|
73
99
|
@base_hash[:social] = :blogger
|
74
100
|
@url_generated = JustShare.on(@base_hash)
|
101
|
+
puts @url_generated
|
75
102
|
expect(@url_generated).to be_equals @blogger_expected_url
|
76
103
|
#expect(accessible?(@url_generated)).to be_truthy
|
77
104
|
end
|
105
|
+
|
106
|
+
it "Delicious" do
|
107
|
+
@base_hash[:social] = :delicious
|
108
|
+
@url_generated = JustShare.on(@base_hash)
|
109
|
+
puts @url_generated
|
110
|
+
expect(@url_generated).to be_equals @delicious_expected_url
|
111
|
+
#expect(accessible?(@url_generated)).to be_truthy
|
112
|
+
end
|
78
113
|
end
|
79
114
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: just_share
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ilton Garcia
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -185,6 +185,7 @@ files:
|
|
185
185
|
- lib/just_share/delicious.rb
|
186
186
|
- lib/just_share/facebook.rb
|
187
187
|
- lib/just_share/google_plus.rb
|
188
|
+
- lib/just_share/linked_in.rb
|
188
189
|
- lib/just_share/pinterest.rb
|
189
190
|
- lib/just_share/reddit.rb
|
190
191
|
- lib/just_share/social_linker.rb
|
@@ -195,13 +196,7 @@ files:
|
|
195
196
|
- lib/just_share/vk.rb
|
196
197
|
- lib/just_share/xing.rb
|
197
198
|
- spec/helpers.rb
|
198
|
-
- spec/just_share/delicious_spec.rb
|
199
|
-
- spec/just_share/facebook_spec.rb
|
200
|
-
- spec/just_share/google_plus_spec.rb
|
201
199
|
- spec/just_share/just_share_spec.rb
|
202
|
-
- spec/just_share/pinterest_spec.rb
|
203
|
-
- spec/just_share/tumblr_spec.rb
|
204
|
-
- spec/just_share/twitter_spec.rb
|
205
200
|
- spec/spec_helper.rb
|
206
201
|
homepage: http://tonfw.github.io/just_share
|
207
202
|
licenses:
|
@@ -229,11 +224,5 @@ specification_version: 4
|
|
229
224
|
summary: Create share links to many social networks
|
230
225
|
test_files:
|
231
226
|
- spec/helpers.rb
|
232
|
-
- spec/just_share/delicious_spec.rb
|
233
|
-
- spec/just_share/facebook_spec.rb
|
234
|
-
- spec/just_share/google_plus_spec.rb
|
235
227
|
- spec/just_share/just_share_spec.rb
|
236
|
-
- spec/just_share/pinterest_spec.rb
|
237
|
-
- spec/just_share/tumblr_spec.rb
|
238
|
-
- spec/just_share/twitter_spec.rb
|
239
228
|
- spec/spec_helper.rb
|