flakey 0.3.1 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/flakey/twitter.rb +23 -11
- data/lib/flakey/version.rb +1 -1
- data/spec/flakey/twitter_spec.rb +25 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0e8ed80023a112ce6933d258fd187acd36cc4934
|
4
|
+
data.tar.gz: fefaa9d180d0634a6ea3af541fb10241f408e456
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb887103c4e8051540b4e86def11f364e3b7d620ad38810332f2cd94613b4a625396f3696d935d280ed02d1a6ef86880e1f89bcf6bcd437c0c34f5e2c60168ee
|
7
|
+
data.tar.gz: 0e76af570f101688569d7c14ec9a82acdf3b8b987201d59d2eca5f43e43e0b9718ebaaeddf9d0145205a6400a97ddd2d044e031c4cdec82145856a98b13beb43
|
data/lib/flakey/twitter.rb
CHANGED
@@ -136,28 +136,40 @@ module Flakey
|
|
136
136
|
link_to text, intent_url, options.except(:user_id, :screen_name)
|
137
137
|
end
|
138
138
|
|
139
|
-
def
|
139
|
+
def tweet_url(options = {})
|
140
140
|
defaults = {
|
141
|
-
|
142
|
-
url: request.url,
|
141
|
+
url: respond_to?(:request) && request.url, # allow inclusion in classes that don't respond to :request, or where request is nil
|
143
142
|
related: Flakey.configuration.tweet_related,
|
144
143
|
hashtags: Flakey.configuration.tweet_hashtags,
|
145
|
-
via: Flakey.configuration.tweet_via
|
146
|
-
class: 'custom-tweet-button',
|
147
|
-
target: '_blank'
|
144
|
+
via: Flakey.configuration.tweet_via
|
148
145
|
}
|
149
146
|
settings = defaults.merge(options)
|
150
147
|
url = "#{SHARE_URL}?url=#{CGI.escape settings[:url]}"
|
151
148
|
|
152
|
-
label = settings[:label]
|
153
|
-
# Delete these so we can pass the settings directly into link_to
|
154
|
-
settings.delete(:label)
|
155
|
-
settings.delete(:url)
|
156
|
-
|
157
149
|
%w[text hashtags related via].each do |url_key|
|
158
150
|
if settings.has_key?(url_key.to_sym) && settings[url_key.to_sym] != ''
|
159
151
|
url += "&#{url_key}=#{CGI.escape settings[url_key.to_sym]}"
|
160
152
|
end
|
153
|
+
end
|
154
|
+
|
155
|
+
url
|
156
|
+
end
|
157
|
+
|
158
|
+
def custom_tweet_button(options = {}, &block)
|
159
|
+
|
160
|
+
url = tweet_url(options)
|
161
|
+
|
162
|
+
defaults = {
|
163
|
+
label: 'Tweet',
|
164
|
+
class: 'custom-tweet-button',
|
165
|
+
target: '_blank'
|
166
|
+
}
|
167
|
+
settings = defaults.merge(options)
|
168
|
+
|
169
|
+
label = settings.delete(:label)
|
170
|
+
|
171
|
+
# Delete these so we can pass the settings directly into link_to
|
172
|
+
%w[url text hashtags related via].each do |url_key|
|
161
173
|
settings.delete(url_key.to_sym)
|
162
174
|
end
|
163
175
|
|
data/lib/flakey/version.rb
CHANGED
data/spec/flakey/twitter_spec.rb
CHANGED
@@ -56,6 +56,31 @@ describe Flakey::Twitter do
|
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
59
|
+
describe "#tweet_url" do
|
60
|
+
before { subject.stub_chain('request.url') { 'http://www.example.com' } }
|
61
|
+
|
62
|
+
it "should include the url" do
|
63
|
+
subject.tweet_url().should == "https://twitter.com/share?url=http%3A%2F%2Fwww.example.com"
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should include via" do
|
67
|
+
subject.tweet_url(:via => "kieran").should =~ /[&?]via=kieran/
|
68
|
+
end
|
69
|
+
|
70
|
+
it "should include hashtags" do
|
71
|
+
subject.tweet_url(:hashtags => "cupoftea").should =~ /[&?]hashtags=cupoftea/
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should include text" do
|
75
|
+
subject.tweet_url(:text => "hello").should =~ /[&?]text=hello/
|
76
|
+
end
|
77
|
+
|
78
|
+
it "should include related" do
|
79
|
+
subject.tweet_url(:related => "someone").should =~ /[&?]related=someone/
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
83
|
+
|
59
84
|
describe 'custom_tweet_button' do
|
60
85
|
before { subject.stub_chain('request.url') { 'http://example.com/hello' } }
|
61
86
|
let(:default_url) do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flakey
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Tuite
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|