broadcast 0.2.1 → 0.2.2
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/Rakefile +2 -0
- data/lib/broadcast/media/oauth.rb +1 -1
- data/lib/broadcast/media/tumblr.rb +22 -0
- data/lib/broadcast/tasks/broadcast.rake +10 -4
- data/lib/broadcast/version.rb +1 -1
- data/spec/lib/broadcast/media/tumblr_spec.rb +31 -0
- data/spec/support/config.rb +10 -0
- data/spec/support/examples.rb +9 -0
- metadata +26 -21
data/Rakefile
CHANGED
@@ -34,7 +34,7 @@ class Broadcast::Medium::Oauth < Broadcast::Medium
|
|
34
34
|
puts "\nAuthorization complete! Put the following in your Broadcast configuration file:\n\n"
|
35
35
|
puts "Broadcast.setup do |config|\n\n"
|
36
36
|
puts " config.#{namespace}.consumer_key = '#{consumer.key}'"
|
37
|
-
puts " config.#{namespace}.consumer_secret = '#{consumer.
|
37
|
+
puts " config.#{namespace}.consumer_secret = '#{consumer.secret}'"
|
38
38
|
puts " config.#{namespace}.access_token = '#{access_token.token}'"
|
39
39
|
puts " config.#{namespace}.access_secret = '#{access_token.secret}'"
|
40
40
|
puts "\nend"
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# This integration was originally prepared by https://github.com/hmaddocks
|
2
|
+
require 'net/http'
|
3
|
+
|
4
|
+
class Broadcast::Medium::Tumblr < Broadcast::Medium::Oauth
|
5
|
+
|
6
|
+
self.site = "http://www.tumblr.com"
|
7
|
+
|
8
|
+
def publish(message)
|
9
|
+
@consumer = OAuth::Consumer.new(options.consumer_key,
|
10
|
+
options.consumer_secret,
|
11
|
+
:site => "http://api.tumblr.com")
|
12
|
+
|
13
|
+
params = {
|
14
|
+
"state" => "published",
|
15
|
+
"title" => message.subject,
|
16
|
+
"body" => message.body,
|
17
|
+
}
|
18
|
+
|
19
|
+
token.post "/v2/blog/#{options.hostname}/post", params
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
namespace "broadcast" do
|
2
|
-
|
2
|
+
|
3
3
|
namespace "authorize" do
|
4
|
-
|
4
|
+
|
5
5
|
desc "Authorize Broadcast with Yammer and get access token information"
|
6
6
|
task "yammer" do
|
7
7
|
require 'broadcast'
|
@@ -13,7 +13,13 @@ namespace "broadcast" do
|
|
13
13
|
require 'broadcast'
|
14
14
|
Broadcast::Medium::Twitter.new.authorize
|
15
15
|
end
|
16
|
-
|
16
|
+
|
17
|
+
desc "Authorize Broadcast with Tumblr and get access token information"
|
18
|
+
task "tumblr" do
|
19
|
+
require 'broadcast'
|
20
|
+
Broadcast::Medium::Tumblr.new.authorize
|
21
|
+
end
|
22
|
+
|
17
23
|
end
|
18
|
-
|
24
|
+
|
19
25
|
end
|
data/lib/broadcast/version.rb
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Broadcast::Medium::Tumblr do
|
4
|
+
|
5
|
+
describe '.site' do
|
6
|
+
|
7
|
+
it "should be set to Tumblr OAuth endpoint" do
|
8
|
+
Broadcast::Medium::Tumblr.site.should == "http://www.tumblr.com"
|
9
|
+
end
|
10
|
+
|
11
|
+
end
|
12
|
+
|
13
|
+
describe '#publish' do
|
14
|
+
|
15
|
+
it "should send a post to twitter with the message body" do
|
16
|
+
message = Broadcast::Message::SpecWithContentAndSubject.new
|
17
|
+
medium = Broadcast::Medium::Tumblr.new
|
18
|
+
token = mock
|
19
|
+
params = {
|
20
|
+
"state" => "published",
|
21
|
+
"title" => "title",
|
22
|
+
"body" => "message",
|
23
|
+
}
|
24
|
+
token.should_receive(:post).with("/v2/blog/spec.tumblr.com/post", params)
|
25
|
+
medium.should_receive(:token).and_return(token)
|
26
|
+
medium.publish(message)
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
data/spec/support/config.rb
CHANGED
@@ -53,4 +53,14 @@ Broadcast.setup { |config|
|
|
53
53
|
sms.to = '22222222222'
|
54
54
|
}
|
55
55
|
|
56
|
+
config.tumblr { |tumblr|
|
57
|
+
|
58
|
+
tumblr.hostname = 'spec.tumblr.com'
|
59
|
+
tumblr.consumer_key = 'consumerkey'
|
60
|
+
tumblr.consumer_secret = 'consumersecret'
|
61
|
+
tumblr.access_token = 'accesstoken'
|
62
|
+
tumblr.access_secret = 'accesssecret'
|
63
|
+
|
64
|
+
}
|
65
|
+
|
56
66
|
}
|
data/spec/support/examples.rb
CHANGED
@@ -7,6 +7,15 @@ class Broadcast::Message::SpecWithContent < Broadcast::Message
|
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
10
|
+
class Broadcast::Message::SpecWithContentAndSubject < Broadcast::Message
|
11
|
+
def subject
|
12
|
+
"title"
|
13
|
+
end
|
14
|
+
def body
|
15
|
+
"message"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
10
19
|
class Broadcast::Message::SpecWithChagingContent < Broadcast::Message
|
11
20
|
def body
|
12
21
|
"message | " + Time.now.to_s
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: broadcast
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 2
|
10
|
+
version: 0.2.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Marcin Bunsch
|
@@ -16,11 +16,10 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-
|
19
|
+
date: 2011-10-22 00:00:00 +02:00
|
20
|
+
default_executable:
|
20
21
|
dependencies:
|
21
22
|
- !ruby/object:Gem::Dependency
|
22
|
-
name: hashie
|
23
|
-
type: :runtime
|
24
23
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
25
24
|
none: false
|
26
25
|
requirements:
|
@@ -32,9 +31,9 @@ dependencies:
|
|
32
31
|
version: "0"
|
33
32
|
prerelease: false
|
34
33
|
requirement: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: oauth
|
37
34
|
type: :runtime
|
35
|
+
name: hashie
|
36
|
+
- !ruby/object:Gem::Dependency
|
38
37
|
version_requirements: &id002 !ruby/object:Gem::Requirement
|
39
38
|
none: false
|
40
39
|
requirements:
|
@@ -46,9 +45,9 @@ dependencies:
|
|
46
45
|
version: "0"
|
47
46
|
prerelease: false
|
48
47
|
requirement: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: xmpp4r
|
51
48
|
type: :runtime
|
49
|
+
name: oauth
|
50
|
+
- !ruby/object:Gem::Dependency
|
52
51
|
version_requirements: &id003 !ruby/object:Gem::Requirement
|
53
52
|
none: false
|
54
53
|
requirements:
|
@@ -60,9 +59,9 @@ dependencies:
|
|
60
59
|
version: "0"
|
61
60
|
prerelease: false
|
62
61
|
requirement: *id003
|
63
|
-
- !ruby/object:Gem::Dependency
|
64
|
-
name: mail
|
65
62
|
type: :runtime
|
63
|
+
name: xmpp4r
|
64
|
+
- !ruby/object:Gem::Dependency
|
66
65
|
version_requirements: &id004 !ruby/object:Gem::Requirement
|
67
66
|
none: false
|
68
67
|
requirements:
|
@@ -74,9 +73,9 @@ dependencies:
|
|
74
73
|
version: "0"
|
75
74
|
prerelease: false
|
76
75
|
requirement: *id004
|
77
|
-
- !ruby/object:Gem::Dependency
|
78
|
-
name: broach
|
79
76
|
type: :runtime
|
77
|
+
name: mail
|
78
|
+
- !ruby/object:Gem::Dependency
|
80
79
|
version_requirements: &id005 !ruby/object:Gem::Requirement
|
81
80
|
none: false
|
82
81
|
requirements:
|
@@ -88,9 +87,9 @@ dependencies:
|
|
88
87
|
version: "0"
|
89
88
|
prerelease: false
|
90
89
|
requirement: *id005
|
91
|
-
- !ruby/object:Gem::Dependency
|
92
|
-
name: shout-bot
|
93
90
|
type: :runtime
|
91
|
+
name: broach
|
92
|
+
- !ruby/object:Gem::Dependency
|
94
93
|
version_requirements: &id006 !ruby/object:Gem::Requirement
|
95
94
|
none: false
|
96
95
|
requirements:
|
@@ -102,9 +101,9 @@ dependencies:
|
|
102
101
|
version: "0"
|
103
102
|
prerelease: false
|
104
103
|
requirement: *id006
|
105
|
-
- !ruby/object:Gem::Dependency
|
106
|
-
name: koala
|
107
104
|
type: :runtime
|
105
|
+
name: shout-bot
|
106
|
+
- !ruby/object:Gem::Dependency
|
108
107
|
version_requirements: &id007 !ruby/object:Gem::Requirement
|
109
108
|
none: false
|
110
109
|
requirements:
|
@@ -116,9 +115,9 @@ dependencies:
|
|
116
115
|
version: "0"
|
117
116
|
prerelease: false
|
118
117
|
requirement: *id007
|
119
|
-
- !ruby/object:Gem::Dependency
|
120
|
-
name: smsified
|
121
118
|
type: :runtime
|
119
|
+
name: koala
|
120
|
+
- !ruby/object:Gem::Dependency
|
122
121
|
version_requirements: &id008 !ruby/object:Gem::Requirement
|
123
122
|
none: false
|
124
123
|
requirements:
|
@@ -130,6 +129,8 @@ dependencies:
|
|
130
129
|
version: "0"
|
131
130
|
prerelease: false
|
132
131
|
requirement: *id008
|
132
|
+
type: :runtime
|
133
|
+
name: smsified
|
133
134
|
description: A broadcasting microframework making publishing of messages to different services easy
|
134
135
|
email:
|
135
136
|
- marcin@futuresimple.com
|
@@ -157,6 +158,7 @@ files:
|
|
157
158
|
- lib/broadcast/media/log.rb
|
158
159
|
- lib/broadcast/media/oauth.rb
|
159
160
|
- lib/broadcast/media/sms.rb
|
161
|
+
- lib/broadcast/media/tumblr.rb
|
160
162
|
- lib/broadcast/media/twitter.rb
|
161
163
|
- lib/broadcast/media/yammer.rb
|
162
164
|
- lib/broadcast/medium.rb
|
@@ -172,6 +174,7 @@ files:
|
|
172
174
|
- spec/lib/broadcast/media/log_spec.rb
|
173
175
|
- spec/lib/broadcast/media/oauth_spec.rb
|
174
176
|
- spec/lib/broadcast/media/sms_spec.rb
|
177
|
+
- spec/lib/broadcast/media/tumblr_spec.rb
|
175
178
|
- spec/lib/broadcast/media/twitter_spec.rb
|
176
179
|
- spec/lib/broadcast/media/yammer_spec.rb
|
177
180
|
- spec/lib/broadcast/medium_spec.rb
|
@@ -180,6 +183,7 @@ files:
|
|
180
183
|
- spec/spec_helper.rb
|
181
184
|
- spec/support/config.rb
|
182
185
|
- spec/support/examples.rb
|
186
|
+
has_rdoc: true
|
183
187
|
homepage: http://github.com/futuresimple/broadcast
|
184
188
|
licenses: []
|
185
189
|
|
@@ -209,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
209
213
|
requirements: []
|
210
214
|
|
211
215
|
rubyforge_project:
|
212
|
-
rubygems_version: 1.
|
216
|
+
rubygems_version: 1.6.2
|
213
217
|
signing_key:
|
214
218
|
specification_version: 3
|
215
219
|
summary: A broadcasting microframework making publishing of messages to different services easy
|
@@ -222,6 +226,7 @@ test_files:
|
|
222
226
|
- spec/lib/broadcast/media/log_spec.rb
|
223
227
|
- spec/lib/broadcast/media/oauth_spec.rb
|
224
228
|
- spec/lib/broadcast/media/sms_spec.rb
|
229
|
+
- spec/lib/broadcast/media/tumblr_spec.rb
|
225
230
|
- spec/lib/broadcast/media/twitter_spec.rb
|
226
231
|
- spec/lib/broadcast/media/yammer_spec.rb
|
227
232
|
- spec/lib/broadcast/medium_spec.rb
|