reap 0.4.0
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/ChangeLog +2 -0
- data/LICENSE +11 -0
- data/README +59 -0
- data/Reapfile +85 -0
- data/bin/reap +103 -0
- data/doc/classes/Reap/AnnounceTask.html +331 -0
- data/doc/classes/Reap/ChmodTask.html +278 -0
- data/doc/classes/Reap/PackageTask.html +372 -0
- data/doc/classes/Reap/PublishTask.html +231 -0
- data/doc/classes/Reap/RDocTask.html +254 -0
- data/doc/classes/Reap/Runner.html +307 -0
- data/doc/classes/Reap/Task.html +390 -0
- data/doc/classes/Reap/TemplateTask.html +233 -0
- data/doc/classes/Reap/TestTask.html +242 -0
- data/doc/classes/Reap.html +184 -0
- data/doc/created.rid +1 -0
- data/doc/files/LICENSE.html +119 -0
- data/doc/files/README.html +194 -0
- data/doc/files/lib/reap/reap_rb.html +110 -0
- data/doc/files/lib/reap/runner_rb.html +113 -0
- data/doc/files/lib/reap/task_rb.html +108 -0
- data/doc/files/lib/reap/tasks/announce-task_rb.html +113 -0
- data/doc/files/lib/reap/tasks/chmod-task_rb.html +101 -0
- data/doc/files/lib/reap/tasks/package-task_rb.html +108 -0
- data/doc/files/lib/reap/tasks/publish-task_rb.html +101 -0
- data/doc/files/lib/reap/tasks/rdoc-task_rb.html +101 -0
- data/doc/files/lib/reap/tasks/template-task_rb.html +108 -0
- data/doc/files/lib/reap/tasks/test-task_rb.html +101 -0
- data/doc/files/lib/reap/template_rb.html +101 -0
- data/doc/fr_class_index.html +36 -0
- data/doc/fr_file_index.html +39 -0
- data/doc/fr_method_index.html +69 -0
- data/doc/index.html +24 -0
- data/doc/rdoc-style.css +208 -0
- data/lib/reap/reap.rb +11 -0
- data/lib/reap/runner.rb +95 -0
- data/lib/reap/task.rb +103 -0
- data/lib/reap/tasks/announce-task.rb +140 -0
- data/lib/reap/tasks/chmod-task.rb +72 -0
- data/lib/reap/tasks/package-task.rb +153 -0
- data/lib/reap/tasks/publish-task.rb +33 -0
- data/lib/reap/tasks/rdoc-task.rb +57 -0
- data/lib/reap/tasks/template-task.rb +38 -0
- data/lib/reap/tasks/test-task.rb +45 -0
- data/lib/reap/template.rb +72 -0
- data/setup.rb +1361 -0
- data/test/test_require.rb +11 -0
- metadata +112 -0
data/ChangeLog
ADDED
data/LICENSE
ADDED
data/README
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
= Reap
|
2
|
+
|
3
|
+
User Friendly Project Assitant for Ruby
|
4
|
+
|
5
|
+
== What's This?
|
6
|
+
|
7
|
+
Reap is a user friendly project assistant for Ruby developers.
|
8
|
+
By organizing your project in a semi-formal manner (the same as setup.rb),
|
9
|
+
Reap makes it easy to do the following tasks:
|
10
|
+
|
11
|
+
* Generate RDocs.
|
12
|
+
* Run unit tests.
|
13
|
+
* Create Ruby Gem packages.
|
14
|
+
* Create standard .tar.gz, tar.bzip2 and/or .zip packages.
|
15
|
+
* Publish documents to Rubyforge or other web sites.
|
16
|
+
* Preform a traditional install (calls setup.rb).
|
17
|
+
* Announce a release to Ruby-talk or other mailing list.
|
18
|
+
* Prepare files for distribution (i.e. chmod, tag, etc.).
|
19
|
+
* Upload packages (coming soon!).
|
20
|
+
|
21
|
+
If you have special needs that Reap doesn't accomodate,
|
22
|
+
new task are farily easy to create. And we are always
|
23
|
+
happy to hear suggestions.
|
24
|
+
|
25
|
+
== Installation
|
26
|
+
|
27
|
+
=== Gem Install
|
28
|
+
|
29
|
+
Install the ruby gem as you would any other:
|
30
|
+
|
31
|
+
<tt>gem install reap</tt>
|
32
|
+
|
33
|
+
Reap is part of the Ruby clibre project and requires
|
34
|
+
supporting calibre libraries, Facets and Carats, so
|
35
|
+
they will also be installed.
|
36
|
+
|
37
|
+
=== Manual Install
|
38
|
+
|
39
|
+
To install manually follw the usiusl setup.eb steps:
|
40
|
+
|
41
|
+
1. Download the compressed package.
|
42
|
+
2. Unpack it.
|
43
|
+
3. Change into the unpacked directory.
|
44
|
+
4. run <tt>./setup.rb</tt>
|
45
|
+
|
46
|
+
You should be good to go.
|
47
|
+
|
48
|
+
== Status
|
49
|
+
|
50
|
+
Reap is currently Usable Beta. Most of the tasks
|
51
|
+
work very well. Refinement are still coomon though,
|
52
|
+
and a few important tasks are still being planned.
|
53
|
+
|
54
|
+
== Legal
|
55
|
+
|
56
|
+
Reap
|
57
|
+
Copyright(c)2004-2005 Thomas Sawyer
|
58
|
+
Ruby License
|
59
|
+
|
data/Reapfile
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
--- %YAML:1.0
|
2
|
+
|
3
|
+
TITLE: &title Reap
|
4
|
+
NAME: &pkg reap
|
5
|
+
VERSION: '0.4.0'
|
6
|
+
AUTHOR: Trans Onoma
|
7
|
+
EMAIL: transfire@gmail.com
|
8
|
+
|
9
|
+
HOMEPAGE: "http://calibre.rubyforge.org"
|
10
|
+
|
11
|
+
SUMMARY: Packaging Assitant for Ruby Developers
|
12
|
+
|
13
|
+
DESCRIPTION: >
|
14
|
+
Reap is a build tool specifically designed for Ruby developers. It operates
|
15
|
+
solely from a YAML configuration file so it especially easy to maintian your
|
16
|
+
Ruby projects. Reap can run tests, build .tgz, .bzip2 and .zip packages, create
|
17
|
+
gem packages, perform manual installs, generate rdocs and publish them to the
|
18
|
+
web, etc.
|
19
|
+
|
20
|
+
RUBYFORGE:
|
21
|
+
PROJECT: 'calibre'
|
22
|
+
USERNAME: transami
|
23
|
+
|
24
|
+
TEST:
|
25
|
+
FILES:
|
26
|
+
- 'test/**/tc_*.rb'
|
27
|
+
OPTIONS: ~
|
28
|
+
|
29
|
+
RDOC:
|
30
|
+
TITLE: *title
|
31
|
+
DIR: 'doc'
|
32
|
+
TEMPLATE: html #ruby-red
|
33
|
+
OPTIONS: ['--merge', '--inline-source', '--all']
|
34
|
+
MAIN: README
|
35
|
+
INCLUDE:
|
36
|
+
- 'README'
|
37
|
+
- 'LICEN*'
|
38
|
+
- 'lib/**/*.rb'
|
39
|
+
- 'bin/**/*.rb'
|
40
|
+
EXCLUDE: []
|
41
|
+
|
42
|
+
PACKAGE:
|
43
|
+
DIR: pkg
|
44
|
+
INCLUDE:
|
45
|
+
- 'lib/**/*'
|
46
|
+
- 'bin/**/*'
|
47
|
+
- 'bench/**/*'
|
48
|
+
- 'test/**/*'
|
49
|
+
- 'doc/**/*'
|
50
|
+
- 'rdoc/**/*'
|
51
|
+
- 'pub/**/*'
|
52
|
+
- 'demo/**/*'
|
53
|
+
- 'samples/**/*'
|
54
|
+
- 'examples/**/*'
|
55
|
+
- 'setup.rb'
|
56
|
+
- '[A-Z]*'
|
57
|
+
EXCLUDE:
|
58
|
+
- InstalledFiles
|
59
|
+
AUTOREQUIRE: 'reap/reap'
|
60
|
+
EXECUTABLES: ['reap']
|
61
|
+
DEPENDENCIES:
|
62
|
+
- facets
|
63
|
+
- carats
|
64
|
+
GEM: true
|
65
|
+
ZIP: true
|
66
|
+
GZIP: true
|
67
|
+
BZIP2: true
|
68
|
+
|
69
|
+
ANNOUNCE:
|
70
|
+
TO: ruby-talk@ruby-lang.org
|
71
|
+
FROM: transfire@gmail.com
|
72
|
+
DOMAIN: jupiterzeus.net
|
73
|
+
SERVER: smtp.gmail.com
|
74
|
+
PORT: 25
|
75
|
+
ACCOUNT: transfire@gmail.com
|
76
|
+
AUTHTYPE: login #cram_md5 #plain
|
77
|
+
FILE: ANN
|
78
|
+
SLOGAN: Reap Your Rewards!
|
79
|
+
INFO:
|
80
|
+
- http://calibre.rubyforge.org
|
81
|
+
|
82
|
+
CHMOD:
|
83
|
+
user: trans
|
84
|
+
group: users
|
85
|
+
|
data/bin/reap
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'getoptlong'
|
4
|
+
require 'reap/reap'
|
5
|
+
|
6
|
+
# dislpay the help information
|
7
|
+
def show_help
|
8
|
+
|
9
|
+
puts <<-HERE
|
10
|
+
|
11
|
+
reap v#{Reap::VERSION}
|
12
|
+
|
13
|
+
USAGE: reap [options...] <command> [arguments...]
|
14
|
+
|
15
|
+
COMMANDS:
|
16
|
+
|
17
|
+
help
|
18
|
+
Displays this help information.
|
19
|
+
|
20
|
+
HERE
|
21
|
+
|
22
|
+
Reap::Task.registry.each do |t|
|
23
|
+
puts " #{t.task}"
|
24
|
+
puts " #{t.desc}\n\n"
|
25
|
+
end
|
26
|
+
|
27
|
+
puts <<-HERE
|
28
|
+
|
29
|
+
OPTIONS:
|
30
|
+
|
31
|
+
-v --verbose
|
32
|
+
Provides extra verbose processing information.
|
33
|
+
|
34
|
+
-u --use <file>
|
35
|
+
Use the specified configuration file rather than
|
36
|
+
the default 'Reapfile'.
|
37
|
+
|
38
|
+
-p --pretend (NOT YET IMPLEMENTED)
|
39
|
+
Pretend, just to see what would happen, but don't
|
40
|
+
actually do anything.
|
41
|
+
|
42
|
+
--version
|
43
|
+
Display the current version.
|
44
|
+
|
45
|
+
--help
|
46
|
+
Display this help information.
|
47
|
+
|
48
|
+
HERE
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
# START OF EXECUTION
|
53
|
+
|
54
|
+
opts = GetoptLong.new(
|
55
|
+
[ "-v", "--verbose", GetoptLong::NO_ARGUMENT ],
|
56
|
+
[ "-p", "--pretend", GetoptLong::NO_ARGUMENT ],
|
57
|
+
[ "-d", "--debug", GetoptLong::NO_ARGUMENT ],
|
58
|
+
[ "-u", "--use", GetoptLong::REQUIRED_ARGUMENT ],
|
59
|
+
[ "--version", GetoptLong::NO_ARGUMENT ],
|
60
|
+
[ "--help", GetoptLong::NO_ARGUMENT ]
|
61
|
+
)
|
62
|
+
|
63
|
+
cmd = ARGV[0]
|
64
|
+
args = ARGV[1..-1]
|
65
|
+
config = nil
|
66
|
+
|
67
|
+
opts.each do |o, a|
|
68
|
+
case o
|
69
|
+
when '-v'
|
70
|
+
$VERBOSE = true
|
71
|
+
when '-p'
|
72
|
+
$PRETEND = true
|
73
|
+
when '-u'
|
74
|
+
config = a
|
75
|
+
when '-d'
|
76
|
+
$DEBUG = true
|
77
|
+
when '--help'
|
78
|
+
cmd = 'help'
|
79
|
+
when '--version'
|
80
|
+
cmd = 'version'
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
cmd = cmd.downcase if cmd
|
85
|
+
if cmd == nil or cmd == 'help'
|
86
|
+
show_help
|
87
|
+
exit 0
|
88
|
+
end
|
89
|
+
if cmd == 'version'
|
90
|
+
puts Reap::VERSION
|
91
|
+
exit 0
|
92
|
+
end
|
93
|
+
|
94
|
+
runner = Reap::Runner.new( config )
|
95
|
+
if runner.task?( cmd.downcase.to_sym )
|
96
|
+
cmd = cmd.to_s.downcase.to_sym
|
97
|
+
runner.call( cmd, *args )
|
98
|
+
else
|
99
|
+
puts "Unknown command. Try 'reap help' for assitance."
|
100
|
+
exit 0
|
101
|
+
end
|
102
|
+
|
103
|
+
|
@@ -0,0 +1,331 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>Class: Reap::AnnounceTask</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="classHeader">
|
50
|
+
<table class="header-table">
|
51
|
+
<tr class="top-aligned-row">
|
52
|
+
<td><strong>Class</strong></td>
|
53
|
+
<td class="class-name-in-header">Reap::AnnounceTask</td>
|
54
|
+
</tr>
|
55
|
+
<tr class="top-aligned-row">
|
56
|
+
<td><strong>In:</strong></td>
|
57
|
+
<td>
|
58
|
+
<a href="../../files/lib/reap/tasks/announce-task_rb.html">
|
59
|
+
lib/reap/tasks/announce-task.rb
|
60
|
+
</a>
|
61
|
+
<br />
|
62
|
+
</td>
|
63
|
+
</tr>
|
64
|
+
|
65
|
+
<tr class="top-aligned-row">
|
66
|
+
<td><strong>Parent:</strong></td>
|
67
|
+
<td>
|
68
|
+
<a href="Task.html">
|
69
|
+
Task
|
70
|
+
</a>
|
71
|
+
</td>
|
72
|
+
</tr>
|
73
|
+
</table>
|
74
|
+
</div>
|
75
|
+
<!-- banner header -->
|
76
|
+
|
77
|
+
<div id="bodyContent">
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
<div id="contextContent">
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
</div>
|
86
|
+
|
87
|
+
<div id="method-list">
|
88
|
+
<h3 class="section-bar">Methods</h3>
|
89
|
+
|
90
|
+
<div class="name-list">
|
91
|
+
<a href="#M000041">desc</a>
|
92
|
+
<a href="#M000043">run</a>
|
93
|
+
<a href="#M000042">set</a>
|
94
|
+
<a href="#M000040">task</a>
|
95
|
+
</div>
|
96
|
+
</div>
|
97
|
+
|
98
|
+
</div>
|
99
|
+
|
100
|
+
|
101
|
+
<!-- if includes -->
|
102
|
+
|
103
|
+
<div id="section">
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
<!-- if method_list -->
|
113
|
+
<div id="methods">
|
114
|
+
<h3 class="section-bar">Public Class methods</h3>
|
115
|
+
|
116
|
+
<div id="method-M000041" class="method-detail">
|
117
|
+
<a name="M000041"></a>
|
118
|
+
|
119
|
+
<div class="method-heading">
|
120
|
+
<a href="#M000041" class="method-signature">
|
121
|
+
<span class="method-name">desc</span><span class="method-args">()</span>
|
122
|
+
</a>
|
123
|
+
</div>
|
124
|
+
|
125
|
+
<div class="method-description">
|
126
|
+
<p><a class="source-toggle" href="#"
|
127
|
+
onclick="toggleCode('M000041-source');return false;">[Source]</a></p>
|
128
|
+
<div class="method-source-code" id="M000041-source">
|
129
|
+
<pre>
|
130
|
+
<span class="ruby-comment cmt"># File lib/reap/tasks/announce-task.rb, line 15</span>
|
131
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">desc</span> ; <span class="ruby-value str">"Sends [ANN] email to ruby-talk or other list."</span> ; <span class="ruby-keyword kw">end</span>
|
132
|
+
</pre>
|
133
|
+
</div>
|
134
|
+
</div>
|
135
|
+
</div>
|
136
|
+
|
137
|
+
<div id="method-M000040" class="method-detail">
|
138
|
+
<a name="M000040"></a>
|
139
|
+
|
140
|
+
<div class="method-heading">
|
141
|
+
<a href="#M000040" class="method-signature">
|
142
|
+
<span class="method-name">task</span><span class="method-args">()</span>
|
143
|
+
</a>
|
144
|
+
</div>
|
145
|
+
|
146
|
+
<div class="method-description">
|
147
|
+
<p><a class="source-toggle" href="#"
|
148
|
+
onclick="toggleCode('M000040-source');return false;">[Source]</a></p>
|
149
|
+
<div class="method-source-code" id="M000040-source">
|
150
|
+
<pre>
|
151
|
+
<span class="ruby-comment cmt"># File lib/reap/tasks/announce-task.rb, line 13</span>
|
152
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">task</span> ; <span class="ruby-identifier">:announce</span> ; <span class="ruby-keyword kw">end</span>
|
153
|
+
</pre>
|
154
|
+
</div>
|
155
|
+
</div>
|
156
|
+
</div>
|
157
|
+
|
158
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
159
|
+
|
160
|
+
<div id="method-M000043" class="method-detail">
|
161
|
+
<a name="M000043"></a>
|
162
|
+
|
163
|
+
<div class="method-heading">
|
164
|
+
<a href="#M000043" class="method-signature">
|
165
|
+
<span class="method-name">run</span><span class="method-args">()</span>
|
166
|
+
</a>
|
167
|
+
</div>
|
168
|
+
|
169
|
+
<div class="method-description">
|
170
|
+
<p><a class="source-toggle" href="#"
|
171
|
+
onclick="toggleCode('M000043-source');return false;">[Source]</a></p>
|
172
|
+
<div class="method-source-code" id="M000043-source">
|
173
|
+
<pre>
|
174
|
+
<span class="ruby-comment cmt"># File lib/reap/tasks/announce-task.rb, line 108</span>
|
175
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>
|
176
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-node">"\n#{@message}\n\n"</span>
|
177
|
+
<span class="ruby-identifier">print</span> <span class="ruby-value str">"Send? [Y/n] "</span>
|
178
|
+
<span class="ruby-keyword kw">until</span> <span class="ruby-identifier">inp</span> = <span class="ruby-identifier">$stdin</span>.<span class="ruby-identifier">gets</span>[<span class="ruby-value">0</span>,<span class="ruby-value">1</span>] ; <span class="ruby-identifier">sleep</span> <span class="ruby-value">1</span> ; <span class="ruby-keyword kw">end</span>
|
179
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">inp</span> <span class="ruby-operator">||</span> <span class="ruby-value str">'y'</span>).<span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'y'</span>
|
180
|
+
<span class="ruby-comment cmt"># ask for password</span>
|
181
|
+
<span class="ruby-identifier">print</span> <span class="ruby-node">"Password for #{@account}: "</span>
|
182
|
+
<span class="ruby-keyword kw">until</span> <span class="ruby-identifier">passwd</span> = <span class="ruby-identifier">$stdin</span>.<span class="ruby-identifier">gets</span>.<span class="ruby-identifier">strip</span> ; <span class="ruby-identifier">sleep</span> <span class="ruby-value">1</span> ; <span class="ruby-keyword kw">end</span>
|
183
|
+
<span class="ruby-identifier">mail</span> = <span class="ruby-node">%Q{
|
184
|
+
|From: #{@from}
|
185
|
+
|To: #{@address}
|
186
|
+
|Subject: #{@subject}
|
187
|
+
|
|
188
|
+
|#{@message}
|
189
|
+
}</span>.<span class="ruby-identifier">margin</span>
|
190
|
+
<span class="ruby-keyword kw">begin</span>
|
191
|
+
<span class="ruby-comment cmt"># --- Send using SMTP object and an adaptor</span>
|
192
|
+
<span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">SMTP</span>.<span class="ruby-identifier">start</span>(<span class="ruby-ivar">@server</span>, <span class="ruby-ivar">@port</span>, <span class="ruby-ivar">@domain</span>, <span class="ruby-ivar">@account</span>, <span class="ruby-identifier">passwd</span>, <span class="ruby-ivar">@authtype</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
|
193
|
+
<span class="ruby-identifier">s</span>.<span class="ruby-identifier">send_message</span> <span class="ruby-identifier">mail</span>, <span class="ruby-ivar">@from</span>, <span class="ruby-ivar">@address</span>
|
194
|
+
<span class="ruby-keyword kw">end</span>
|
195
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-node">"Email sent successfully to #{@address}."</span>
|
196
|
+
<span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
197
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-value str">"Email delivery failed."</span>
|
198
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>
|
199
|
+
<span class="ruby-keyword kw">end</span>
|
200
|
+
<span class="ruby-keyword kw">else</span>
|
201
|
+
<span class="ruby-identifier">puts</span> <span class="ruby-value str">"Reap announce task canceled."</span>
|
202
|
+
<span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
|
203
|
+
<span class="ruby-keyword kw">end</span>
|
204
|
+
<span class="ruby-keyword kw">end</span>
|
205
|
+
</pre>
|
206
|
+
</div>
|
207
|
+
</div>
|
208
|
+
</div>
|
209
|
+
|
210
|
+
<div id="method-M000042" class="method-detail">
|
211
|
+
<a name="M000042"></a>
|
212
|
+
|
213
|
+
<div class="method-heading">
|
214
|
+
<a href="#M000042" class="method-signature">
|
215
|
+
<span class="method-name">set</span><span class="method-args">( section )</span>
|
216
|
+
</a>
|
217
|
+
</div>
|
218
|
+
|
219
|
+
<div class="method-description">
|
220
|
+
<p><a class="source-toggle" href="#"
|
221
|
+
onclick="toggleCode('M000042-source');return false;">[Source]</a></p>
|
222
|
+
<div class="method-source-code" id="M000042-source">
|
223
|
+
<pre>
|
224
|
+
<span class="ruby-comment cmt"># File lib/reap/tasks/announce-task.rb, line 18</span>
|
225
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>( <span class="ruby-identifier">section</span> )
|
226
|
+
<span class="ruby-ivar">@address</span> = <span class="ruby-identifier">section</span>[<span class="ruby-value str">'to'</span>]
|
227
|
+
<span class="ruby-ivar">@from</span> = <span class="ruby-identifier">section</span>[<span class="ruby-value str">'from'</span>].<span class="ruby-identifier">to_s</span>
|
228
|
+
<span class="ruby-ivar">@server</span> = <span class="ruby-identifier">section</span>[<span class="ruby-value str">'server'</span>].<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>
|
229
|
+
<span class="ruby-ivar">@port</span> = <span class="ruby-identifier">section</span>[<span class="ruby-value str">'port'</span>] <span class="ruby-operator">||</span> <span class="ruby-value">25</span>
|
230
|
+
<span class="ruby-ivar">@domain</span> = <span class="ruby-identifier">section</span>[<span class="ruby-value str">'domain'</span>].<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">strip</span>
|
231
|
+
<span class="ruby-ivar">@account</span> = <span class="ruby-identifier">section</span>[<span class="ruby-value str">'account'</span>].<span class="ruby-identifier">to_s</span>
|
232
|
+
<span class="ruby-ivar">@authtype</span> = <span class="ruby-identifier">section</span>[<span class="ruby-value str">'authtype'</span>].<span class="ruby-identifier">to_sym</span>
|
233
|
+
<span class="ruby-ivar">@subject</span> = <span class="ruby-node">"[ANN] #{@config['title']}, v#{@config['version']}"</span>
|
234
|
+
|
235
|
+
<span class="ruby-comment cmt">#raise "DOMAIN is a required field" if @domain.empty?</span>
|
236
|
+
|
237
|
+
<span class="ruby-identifier">announce</span> = <span class="ruby-node">%Q{
|
238
|
+
|
|
239
|
+
|A N N O U N C I N G
|
240
|
+
|
|
241
|
+
|#{@config['title']}, v#{@config['version']}
|
242
|
+
|
|
243
|
+
|#{@config['summary']}
|
244
|
+
|
|
245
|
+
}</span>.<span class="ruby-identifier">margin</span>.<span class="ruby-identifier">center_lines</span>(<span class="ruby-value">66</span>)
|
246
|
+
|
247
|
+
<span class="ruby-comment cmt"># abstract</span>
|
248
|
+
<span class="ruby-identifier">abstract</span> = <span class="ruby-value str">''</span>
|
249
|
+
<span class="ruby-identifier">desc</span> = <span class="ruby-ivar">@config</span>[<span class="ruby-value str">'description'</span>]
|
250
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">desc</span>
|
251
|
+
<span class="ruby-identifier">abstract</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n\n"</span>
|
252
|
+
<span class="ruby-identifier">abstract</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"ABSTRACT: #{desc}"</span>.<span class="ruby-identifier">word_wrap</span>(<span class="ruby-value">72</span>)
|
253
|
+
<span class="ruby-identifier">abstract</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n"</span>
|
254
|
+
<span class="ruby-keyword kw">end</span>
|
255
|
+
|
256
|
+
<span class="ruby-comment cmt"># more info</span>
|
257
|
+
<span class="ruby-identifier">info</span> = <span class="ruby-value str">''</span>
|
258
|
+
<span class="ruby-identifier">info_arr</span> = <span class="ruby-identifier">section</span>[<span class="ruby-value str">'info'</span>]
|
259
|
+
<span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">info_arr</span>.<span class="ruby-identifier">empty?</span>
|
260
|
+
<span class="ruby-identifier">info</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n"</span>
|
261
|
+
<span class="ruby-identifier">info</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"For More Information"</span>.<span class="ruby-identifier">center</span>(<span class="ruby-value">67</span>)
|
262
|
+
<span class="ruby-identifier">info</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n"</span>
|
263
|
+
<span class="ruby-identifier">info_arr</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">mi</span><span class="ruby-operator">|</span> <span class="ruby-identifier">info</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"#{mi}"</span>.<span class="ruby-identifier">center</span>(<span class="ruby-value">67</span>) }
|
264
|
+
<span class="ruby-identifier">info</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n\n"</span>
|
265
|
+
<span class="ruby-keyword kw">end</span>
|
266
|
+
|
267
|
+
<span class="ruby-comment cmt"># slogan</span>
|
268
|
+
<span class="ruby-identifier">slogan</span> = <span class="ruby-value str">''</span>
|
269
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">section</span>[<span class="ruby-value str">'slogan'</span>]
|
270
|
+
<span class="ruby-identifier">slogan</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n\n"</span>
|
271
|
+
<span class="ruby-identifier">slogan</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">section</span>[<span class="ruby-value str">'slogan'</span>].<span class="ruby-identifier">center</span>(<span class="ruby-value">67</span>)
|
272
|
+
<span class="ruby-identifier">slogan</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n\n"</span>
|
273
|
+
<span class="ruby-keyword kw">end</span>
|
274
|
+
|
275
|
+
<span class="ruby-comment cmt"># memo</span>
|
276
|
+
<span class="ruby-identifier">memo</span> = <span class="ruby-value str">''</span>
|
277
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">section</span>[<span class="ruby-value str">'memo'</span>]
|
278
|
+
<span class="ruby-identifier">memo</span> = <span class="ruby-value str">''</span>
|
279
|
+
<span class="ruby-identifier">memo</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n"</span> <span class="ruby-operator"><<</span> (<span class="ruby-value str">'-'</span> <span class="ruby-operator">*</span> <span class="ruby-value">72</span>) <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n"</span>
|
280
|
+
<span class="ruby-identifier">memo</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"(Memo)\n\n"</span>
|
281
|
+
<span class="ruby-identifier">memo</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">section</span>[<span class="ruby-value str">'memo'</span>].<span class="ruby-identifier">clump</span>.<span class="ruby-identifier">word_wrap</span>(<span class="ruby-value">72</span>)
|
282
|
+
<span class="ruby-comment cmt">#memo << "\n"</span>
|
283
|
+
<span class="ruby-keyword kw">end</span>
|
284
|
+
|
285
|
+
<span class="ruby-comment cmt"># msg file</span>
|
286
|
+
<span class="ruby-identifier">msg</span> = <span class="ruby-value str">''</span>
|
287
|
+
<span class="ruby-identifier">msg_file</span> = <span class="ruby-identifier">section</span>[<span class="ruby-value str">'file'</span>]
|
288
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">msg_file</span> <span class="ruby-keyword kw">and</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>( <span class="ruby-identifier">msg_file</span> )
|
289
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n"</span> <span class="ruby-operator"><<</span> (<span class="ruby-value str">"-"</span> <span class="ruby-operator">*</span> <span class="ruby-value">72</span>) <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n"</span>
|
290
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"(from #{msg_file})\n\n"</span>
|
291
|
+
<span class="ruby-identifier">mg</span> = <span class="ruby-value str">''</span>
|
292
|
+
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>( <span class="ruby-identifier">msg_file</span> ) { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">mg</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">gets</span>(<span class="ruby-keyword kw">nil</span>) }
|
293
|
+
<span class="ruby-identifier">msg</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">mg</span>.<span class="ruby-identifier">clump</span>.<span class="ruby-identifier">word_wrap</span>(<span class="ruby-value">72</span>)
|
294
|
+
<span class="ruby-keyword kw">end</span>
|
295
|
+
|
296
|
+
<span class="ruby-comment cmt"># stamp</span>
|
297
|
+
<span class="ruby-identifier">stamp</span> = <span class="ruby-value str">''</span>
|
298
|
+
<span class="ruby-identifier">stamp</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n"</span> <span class="ruby-operator"><<</span> (<span class="ruby-value str">"-"</span> <span class="ruby-operator">*</span> <span class="ruby-value">72</span>) <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n"</span>
|
299
|
+
<span class="ruby-identifier">stamp</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">%Q{
|
300
|
+
|Generated by Reap, a dedicated Ruby Packaging Assistant.
|
301
|
+
|Do you Ruby? (http://www.ruby-lang.org)
|
302
|
+
}</span>.<span class="ruby-identifier">margin</span>
|
303
|
+
<span class="ruby-identifier">stamp</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n\n"</span>
|
304
|
+
|
305
|
+
<span class="ruby-ivar">@message</span> = <span class="ruby-value str">''</span>
|
306
|
+
<span class="ruby-ivar">@message</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">announce</span>
|
307
|
+
<span class="ruby-ivar">@message</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">abstract</span>
|
308
|
+
<span class="ruby-ivar">@message</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">info</span>
|
309
|
+
<span class="ruby-ivar">@message</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">slogan</span>
|
310
|
+
<span class="ruby-ivar">@message</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">memo</span>
|
311
|
+
<span class="ruby-ivar">@message</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">msg</span>
|
312
|
+
<span class="ruby-ivar">@message</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">stamp</span>
|
313
|
+
<span class="ruby-keyword kw">end</span>
|
314
|
+
</pre>
|
315
|
+
</div>
|
316
|
+
</div>
|
317
|
+
</div>
|
318
|
+
|
319
|
+
|
320
|
+
</div>
|
321
|
+
|
322
|
+
|
323
|
+
</div>
|
324
|
+
|
325
|
+
|
326
|
+
<div id="validator-badges">
|
327
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
328
|
+
</div>
|
329
|
+
|
330
|
+
</body>
|
331
|
+
</html>
|