twitter_alert 0.1.0 → 0.1.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.
- data/README.rdoc +27 -3
- data/VERSION +1 -1
- data/doc/LICENSE.html +115 -0
- data/doc/README_rdoc.html +173 -0
- data/doc/TwitterAlert.html +157 -0
- data/doc/TwitterAlert/Account.html +310 -0
- data/doc/TwitterAlert/Alert.html +381 -0
- data/doc/created.rid +6 -0
- data/doc/images/brick.png +0 -0
- data/doc/images/brick_link.png +0 -0
- data/doc/images/bug.png +0 -0
- data/doc/images/bullet_black.png +0 -0
- data/doc/images/bullet_toggle_minus.png +0 -0
- data/doc/images/bullet_toggle_plus.png +0 -0
- data/doc/images/date.png +0 -0
- data/doc/images/find.png +0 -0
- data/doc/images/loadingAnimation.gif +0 -0
- data/doc/images/macFFBgHack.png +0 -0
- data/doc/images/package.png +0 -0
- data/doc/images/page_green.png +0 -0
- data/doc/images/page_white_text.png +0 -0
- data/doc/images/page_white_width.png +0 -0
- data/doc/images/plugin.png +0 -0
- data/doc/images/ruby.png +0 -0
- data/doc/images/tag_green.png +0 -0
- data/doc/images/wrench.png +0 -0
- data/doc/images/wrench_orange.png +0 -0
- data/doc/images/zoom.png +0 -0
- data/doc/index.html +76 -0
- data/doc/js/darkfish.js +116 -0
- data/doc/js/jquery.js +32 -0
- data/doc/js/quicksearch.js +114 -0
- data/doc/js/thickbox-compressed.js +10 -0
- data/doc/lib/twitter_alert/account_rb.html +52 -0
- data/doc/lib/twitter_alert/alert_rb.html +52 -0
- data/doc/lib/twitter_alert_rb.html +58 -0
- data/doc/rdoc.css +706 -0
- data/lib/twitter_alert/account.rb +8 -0
- data/lib/twitter_alert/alert.rb +15 -1
- data/twitter_alert.gemspec +96 -0
- metadata +39 -3
@@ -1,5 +1,9 @@
|
|
1
1
|
module TwitterAlert
|
2
|
+
|
3
|
+
# This represents the Twitter account you'll use to send DMs from.
|
2
4
|
class Account
|
5
|
+
|
6
|
+
# Config is a hash that needs :user_name and :password keys.
|
3
7
|
def initialize config
|
4
8
|
# Load hash from yaml file in default location?
|
5
9
|
|
@@ -15,6 +19,9 @@ module TwitterAlert
|
|
15
19
|
)
|
16
20
|
end
|
17
21
|
|
22
|
+
# Sends the text of message to all of the account's followers. Message's class should include the TwitterAlert::Alert Module.
|
23
|
+
#
|
24
|
+
# Returns true if things went well and false if any DMs failed.
|
18
25
|
def announce message
|
19
26
|
followers.each do |follower|
|
20
27
|
begin
|
@@ -27,6 +34,7 @@ module TwitterAlert
|
|
27
34
|
message.mark_sent
|
28
35
|
end
|
29
36
|
|
37
|
+
# Returns an array of ids of all the followers of the account.
|
30
38
|
def followers
|
31
39
|
@client.followers.ids?
|
32
40
|
end
|
data/lib/twitter_alert/alert.rb
CHANGED
@@ -1,21 +1,35 @@
|
|
1
1
|
module TwitterAlert
|
2
|
+
|
3
|
+
# Mix this in to a class you want to represent the messages you'll DM out.
|
2
4
|
module Alert
|
3
|
-
attr_reader :text, :date, :failed_announcements
|
4
5
|
|
6
|
+
# The text to be DMed out.
|
7
|
+
attr_reader :text
|
8
|
+
|
9
|
+
# The date it should be DMed out.
|
10
|
+
attr_reader :date
|
11
|
+
|
12
|
+
# An array of hashes containing the id and error text of any DMs that didn't work.
|
13
|
+
attr_reader :failed_announcements
|
14
|
+
|
15
|
+
# Text will have to_s called on it. Date will have #to_s and then fed to DateTime.parse
|
5
16
|
def initialize text, date
|
6
17
|
@text = text.to_s
|
7
18
|
@date = DateTime.parse(date.to_s)
|
8
19
|
@failed_announcements = []
|
9
20
|
end
|
10
21
|
|
22
|
+
# Returns boolean based on whether this messages was successfully sent to all followers or not.
|
11
23
|
def sent?
|
12
24
|
@sent
|
13
25
|
end
|
14
26
|
|
27
|
+
# Marks this message as sent unless there are stored failed announcements.
|
15
28
|
def mark_sent
|
16
29
|
@sent = @failed_announcements.empty?
|
17
30
|
end
|
18
31
|
|
32
|
+
# Stores a failed announcement so that you can see who and why the failure occured.
|
19
33
|
def add_failed_announcement follower_id, error_text
|
20
34
|
@failed_announcements << { :follower_id => follower_id, :error_text => error_text }
|
21
35
|
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{twitter_alert}
|
8
|
+
s.version = "0.1.1"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Ben Hamill"]
|
12
|
+
s.date = %q{2010-05-14}
|
13
|
+
s.description = %q{Create messages, assign a time, then DM all Followers of a Twitter account with those messages as the assigned time.}
|
14
|
+
s.email = %q{twitteralert@benhamill.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".document",
|
21
|
+
".gitignore",
|
22
|
+
"LICENSE",
|
23
|
+
"README.rdoc",
|
24
|
+
"Rakefile",
|
25
|
+
"VERSION",
|
26
|
+
"doc/LICENSE.html",
|
27
|
+
"doc/README_rdoc.html",
|
28
|
+
"doc/TwitterAlert.html",
|
29
|
+
"doc/TwitterAlert/Account.html",
|
30
|
+
"doc/TwitterAlert/Alert.html",
|
31
|
+
"doc/created.rid",
|
32
|
+
"doc/images/brick.png",
|
33
|
+
"doc/images/brick_link.png",
|
34
|
+
"doc/images/bug.png",
|
35
|
+
"doc/images/bullet_black.png",
|
36
|
+
"doc/images/bullet_toggle_minus.png",
|
37
|
+
"doc/images/bullet_toggle_plus.png",
|
38
|
+
"doc/images/date.png",
|
39
|
+
"doc/images/find.png",
|
40
|
+
"doc/images/loadingAnimation.gif",
|
41
|
+
"doc/images/macFFBgHack.png",
|
42
|
+
"doc/images/package.png",
|
43
|
+
"doc/images/page_green.png",
|
44
|
+
"doc/images/page_white_text.png",
|
45
|
+
"doc/images/page_white_width.png",
|
46
|
+
"doc/images/plugin.png",
|
47
|
+
"doc/images/ruby.png",
|
48
|
+
"doc/images/tag_green.png",
|
49
|
+
"doc/images/wrench.png",
|
50
|
+
"doc/images/wrench_orange.png",
|
51
|
+
"doc/images/zoom.png",
|
52
|
+
"doc/index.html",
|
53
|
+
"doc/js/darkfish.js",
|
54
|
+
"doc/js/jquery.js",
|
55
|
+
"doc/js/quicksearch.js",
|
56
|
+
"doc/js/thickbox-compressed.js",
|
57
|
+
"doc/lib/twitter_alert/account_rb.html",
|
58
|
+
"doc/lib/twitter_alert/alert_rb.html",
|
59
|
+
"doc/lib/twitter_alert_rb.html",
|
60
|
+
"doc/rdoc.css",
|
61
|
+
"lib/twitter_alert.rb",
|
62
|
+
"lib/twitter_alert/account.rb",
|
63
|
+
"lib/twitter_alert/alert.rb",
|
64
|
+
"test/helper.rb",
|
65
|
+
"test/test_account.rb",
|
66
|
+
"test/test_alert.rb",
|
67
|
+
"twitter_alert.gemspec"
|
68
|
+
]
|
69
|
+
s.homepage = %q{http://github.com/BenHamill/twitter_alert}
|
70
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
71
|
+
s.require_paths = ["lib"]
|
72
|
+
s.rubygems_version = %q{1.3.6}
|
73
|
+
s.summary = %q{Send scheduled Direct Messages to all Twitter Followers.}
|
74
|
+
s.test_files = [
|
75
|
+
"test/helper.rb",
|
76
|
+
"test/test_account.rb",
|
77
|
+
"test/test_alert.rb"
|
78
|
+
]
|
79
|
+
|
80
|
+
if s.respond_to? :specification_version then
|
81
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
82
|
+
s.specification_version = 3
|
83
|
+
|
84
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
85
|
+
s.add_development_dependency(%q<fakeweb>, [">= 1.2.8"])
|
86
|
+
s.add_runtime_dependency(%q<grackle>, [">= 0.1.9"])
|
87
|
+
else
|
88
|
+
s.add_dependency(%q<fakeweb>, [">= 1.2.8"])
|
89
|
+
s.add_dependency(%q<grackle>, [">= 0.1.9"])
|
90
|
+
end
|
91
|
+
else
|
92
|
+
s.add_dependency(%q<fakeweb>, [">= 1.2.8"])
|
93
|
+
s.add_dependency(%q<grackle>, [">= 0.1.9"])
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 1
|
9
|
+
version: 0.1.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Ben Hamill
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-05-
|
17
|
+
date: 2010-05-14 00:00:00 -05:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -61,12 +61,48 @@ files:
|
|
61
61
|
- README.rdoc
|
62
62
|
- Rakefile
|
63
63
|
- VERSION
|
64
|
+
- doc/LICENSE.html
|
65
|
+
- doc/README_rdoc.html
|
66
|
+
- doc/TwitterAlert.html
|
67
|
+
- doc/TwitterAlert/Account.html
|
68
|
+
- doc/TwitterAlert/Alert.html
|
69
|
+
- doc/created.rid
|
70
|
+
- doc/images/brick.png
|
71
|
+
- doc/images/brick_link.png
|
72
|
+
- doc/images/bug.png
|
73
|
+
- doc/images/bullet_black.png
|
74
|
+
- doc/images/bullet_toggle_minus.png
|
75
|
+
- doc/images/bullet_toggle_plus.png
|
76
|
+
- doc/images/date.png
|
77
|
+
- doc/images/find.png
|
78
|
+
- doc/images/loadingAnimation.gif
|
79
|
+
- doc/images/macFFBgHack.png
|
80
|
+
- doc/images/package.png
|
81
|
+
- doc/images/page_green.png
|
82
|
+
- doc/images/page_white_text.png
|
83
|
+
- doc/images/page_white_width.png
|
84
|
+
- doc/images/plugin.png
|
85
|
+
- doc/images/ruby.png
|
86
|
+
- doc/images/tag_green.png
|
87
|
+
- doc/images/wrench.png
|
88
|
+
- doc/images/wrench_orange.png
|
89
|
+
- doc/images/zoom.png
|
90
|
+
- doc/index.html
|
91
|
+
- doc/js/darkfish.js
|
92
|
+
- doc/js/jquery.js
|
93
|
+
- doc/js/quicksearch.js
|
94
|
+
- doc/js/thickbox-compressed.js
|
95
|
+
- doc/lib/twitter_alert/account_rb.html
|
96
|
+
- doc/lib/twitter_alert/alert_rb.html
|
97
|
+
- doc/lib/twitter_alert_rb.html
|
98
|
+
- doc/rdoc.css
|
64
99
|
- lib/twitter_alert.rb
|
65
100
|
- lib/twitter_alert/account.rb
|
66
101
|
- lib/twitter_alert/alert.rb
|
67
102
|
- test/helper.rb
|
68
103
|
- test/test_account.rb
|
69
104
|
- test/test_alert.rb
|
105
|
+
- twitter_alert.gemspec
|
70
106
|
has_rdoc: true
|
71
107
|
homepage: http://github.com/BenHamill/twitter_alert
|
72
108
|
licenses: []
|