inochi 0.1.0 → 0.2.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/bin/inochi +86 -38
- data/doc/api/Inochi.html +163 -86
- data/doc/history.erb +53 -8
- data/doc/index.xhtml +283 -73
- data/doc/setup.erb +0 -2
- data/doc/usage.erb +113 -35
- data/lib/inochi.rb +12 -10
- data/lib/inochi/inochi.rb +57 -16
- data/test/inochi/inochi.rb +106 -0
- metadata +18 -2
data/bin/inochi
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
#!/usr/bin/ruby -w
|
2
2
|
#
|
3
|
-
#
|
3
|
+
# Generates a project scaffold using the given information.
|
4
|
+
#
|
5
|
+
# Existing files are backed up and NOT overwritten. It is your
|
6
|
+
# responsibility to merge changes between the existing files and
|
7
|
+
# the newly generated files. See the --merge option for details.
|
8
|
+
#
|
9
|
+
# This tool announces its progress as it runs, using these indicators:
|
4
10
|
#
|
5
11
|
# create: A file is being created because it does not exist.
|
6
12
|
#
|
@@ -14,7 +20,19 @@
|
|
14
20
|
#
|
15
21
|
# Usage:
|
16
22
|
#
|
17
|
-
# inochi [
|
23
|
+
# inochi [Options] ProjectName [ProgramName]
|
24
|
+
#
|
25
|
+
#
|
26
|
+
# ProjectName: Name of your project, which will be normalized
|
27
|
+
# into the naame of a Ruby module that will serve
|
28
|
+
# as a namespace for all code in your project.
|
29
|
+
#
|
30
|
+
# ProgramName: (Optional) Name of the main project executable,
|
31
|
+
# which also serves as the name of the generated
|
32
|
+
# project directory and the main project library.
|
33
|
+
#
|
34
|
+
#
|
35
|
+
# Options:
|
18
36
|
#
|
19
37
|
|
20
38
|
# command line
|
@@ -63,21 +81,25 @@
|
|
63
81
|
end
|
64
82
|
|
65
83
|
# program body
|
66
|
-
|
67
|
-
|
84
|
+
project_name, program_name = ARGV
|
85
|
+
|
86
|
+
unless project_name
|
87
|
+
raise ArgumentError, "ProjectName must be given. Run `#{$0} -h` for help."
|
88
|
+
end
|
68
89
|
|
69
|
-
|
70
|
-
|
71
|
-
version = '0.0.0'
|
72
|
-
release = Time.now.strftime('%F')
|
90
|
+
project_symbol = Inochi.calc_project_symbol(project_name)
|
91
|
+
program_name ||= Inochi.calc_program_name(project_symbol)
|
73
92
|
|
74
|
-
|
93
|
+
project_version = '0.0.0'
|
94
|
+
project_release = Time.now.strftime('%F')
|
95
|
+
|
96
|
+
inochi_preamble = %{
|
75
97
|
require 'rubygems'
|
76
98
|
gem '#{Inochi::PROGRAM}', '#{Inochi::VERSION.requirement}'
|
77
99
|
require '#{Inochi::PROGRAM}'
|
78
100
|
}.strip
|
79
101
|
|
80
|
-
create "#{
|
102
|
+
create "#{program_name}/LICENSE", %{
|
81
103
|
Copyright #{Time.now.year} Your Name <your@email.here>
|
82
104
|
|
83
105
|
Permission to use, copy, modify, and/or distribute this software for any
|
@@ -93,10 +115,10 @@
|
|
93
115
|
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
94
116
|
}
|
95
117
|
|
96
|
-
create "#{
|
97
|
-
#{
|
118
|
+
create "#{program_name}/Rakefile", %{
|
119
|
+
#{inochi_preamble}
|
98
120
|
|
99
|
-
Inochi.rake #{
|
121
|
+
Inochi.rake #{project_symbol.inspect} do |gem|
|
100
122
|
# TODO: additional gem configuration.
|
101
123
|
# NOTE: this is completely optional!
|
102
124
|
#
|
@@ -105,20 +127,31 @@
|
|
105
127
|
end
|
106
128
|
}
|
107
129
|
|
108
|
-
bin_file = "#{
|
130
|
+
bin_file = "#{program_name}/bin/#{program_name}"
|
109
131
|
create bin_file, %{
|
110
132
|
#!/usr/bin/ruby -w
|
111
133
|
#
|
112
134
|
# TODO: Explain the command-line usage of this program here.
|
113
135
|
#
|
136
|
+
#
|
114
137
|
# Usage:
|
115
138
|
#
|
116
|
-
# #{
|
139
|
+
# #{program_name} [Options] Param1 Param2 Param3...
|
140
|
+
#
|
141
|
+
#
|
142
|
+
# Param1: Description for the first parameter.
|
143
|
+
#
|
144
|
+
# Param2: Description for the second parameter.
|
145
|
+
#
|
146
|
+
# Param3: Description for the third parameter.
|
147
|
+
#
|
148
|
+
#
|
149
|
+
# Options:
|
117
150
|
#
|
118
151
|
|
119
|
-
#{
|
152
|
+
#{inochi_preamble}
|
120
153
|
|
121
|
-
options = Inochi.main #{
|
154
|
+
options = Inochi.main #{project_symbol.inspect} do
|
122
155
|
# TODO: define command-line options here.
|
123
156
|
# see http://trollop.rubyforge.org/
|
124
157
|
#
|
@@ -132,14 +165,14 @@
|
|
132
165
|
}
|
133
166
|
FileUtils.chmod 0755, bin_file
|
134
167
|
|
135
|
-
create "#{
|
136
|
-
#{
|
168
|
+
create "#{program_name}/lib/#{program_name}.rb", %{
|
169
|
+
#{inochi_preamble}
|
137
170
|
|
138
|
-
Inochi.init #{
|
139
|
-
:project => '#{
|
140
|
-
:version => '#{
|
141
|
-
:release => '#{
|
142
|
-
:website => 'http://#{
|
171
|
+
Inochi.init #{project_symbol.inspect},
|
172
|
+
:project => '#{project_name}',
|
173
|
+
:version => '#{project_version}',
|
174
|
+
:release => '#{project_release}',
|
175
|
+
:website => 'http://#{program_name}.rubyforge.org',
|
143
176
|
:tagline => 'TODO: put a single line description of your project here.',
|
144
177
|
:require => {
|
145
178
|
# TODO: list gems required by your project here.
|
@@ -153,8 +186,23 @@
|
|
153
186
|
}
|
154
187
|
}
|
155
188
|
|
156
|
-
create "#{
|
157
|
-
|
189
|
+
create "#{program_name}/test/#{program_name}.rb", %{
|
190
|
+
describe #{project_symbol} do
|
191
|
+
it 'has inochi' do
|
192
|
+
assert #{project_symbol}.const_defined? :INOCHI
|
193
|
+
|
194
|
+
#{project_symbol}::INOCHI.each do |param, value|
|
195
|
+
const = param.to_s.upcase
|
196
|
+
|
197
|
+
assert #{project_symbol}.const_defined? const
|
198
|
+
#{project_symbol}.const_get(const).must_equal value
|
199
|
+
end
|
200
|
+
end
|
201
|
+
end
|
202
|
+
}
|
203
|
+
|
204
|
+
create "#{program_name}/doc/index.erb", %{
|
205
|
+
<% Inochi.book #{project_symbol.inspect}, self %>
|
158
206
|
|
159
207
|
<%# include intro.erb #%>
|
160
208
|
<%# include setup.erb #%>
|
@@ -163,12 +211,12 @@
|
|
163
211
|
<%# include history.erb #%>
|
164
212
|
}
|
165
213
|
|
166
|
-
create "#{
|
214
|
+
create "#{program_name}/doc/intro.erb", %{
|
167
215
|
<% chapter "Introduction" do %>
|
168
216
|
<% project_summary do %>
|
169
217
|
> TODO: explain the purpose of your project
|
170
218
|
|
171
|
-
|
219
|
+
**<%= $project %>** is a __________ that __________.
|
172
220
|
<% end %>
|
173
221
|
|
174
222
|
> TODO: explain why your project is important
|
@@ -249,15 +297,15 @@
|
|
249
297
|
<% end %>
|
250
298
|
}
|
251
299
|
|
252
|
-
create "#{
|
300
|
+
create "#{program_name}/doc/setup.erb", %{
|
253
301
|
<% chapter "Setup" do %>
|
254
302
|
<% section "Requirements" do %>
|
255
303
|
Your system needs the following software to run **<%= $project %>**.
|
256
304
|
|
257
|
-
| Software | Description | Notes
|
258
|
-
| -------- | ----------- | -----
|
259
|
-
| [Ruby](http://ruby-lang.org) | Ruby language interpreter | Version #{RUBY_VERSION} is required.
|
260
|
-
| [RubyGems](http://rubygems.org) | Ruby packaging system | Version #{
|
305
|
+
| Software | Description | Notes |
|
306
|
+
| -------- | ----------- | ----- |
|
307
|
+
| [Ruby](http://ruby-lang.org) | Ruby language interpreter | Version #{RUBY_VERSION} is required. |
|
308
|
+
| [RubyGems](http://rubygems.org) | Ruby packaging system | Version #{Gem::RubyGemsVersion} is required. |
|
261
309
|
<% end %>
|
262
310
|
|
263
311
|
<% section "Installation" do %>
|
@@ -308,13 +356,13 @@
|
|
308
356
|
<% end %>
|
309
357
|
}
|
310
358
|
|
311
|
-
create "#{
|
359
|
+
create "#{program_name}/doc/theory.erb", %{
|
312
360
|
<% chapter "Theory of operation" do %>
|
313
361
|
> TODO: explain how your project does what it does
|
314
362
|
<% end %>
|
315
363
|
}
|
316
364
|
|
317
|
-
create "#{
|
365
|
+
create "#{program_name}/doc/usage.erb", %{
|
318
366
|
<% chapter "Usage" do %>
|
319
367
|
<% section "Command-line interface" do %>
|
320
368
|
When you run this command:
|
@@ -323,7 +371,7 @@
|
|
323
371
|
|
324
372
|
You will see this output:
|
325
373
|
|
326
|
-
<pre><%= verbatim `ruby bin/\#{$
|
374
|
+
<pre><%= verbatim `ruby bin/\#{$program_name} --help` %></pre>
|
327
375
|
|
328
376
|
> TODO: explain the command-line arguments
|
329
377
|
<% end %>
|
@@ -343,7 +391,7 @@
|
|
343
391
|
<% end %>
|
344
392
|
}
|
345
393
|
|
346
|
-
create "#{
|
394
|
+
create "#{program_name}/doc/history.erb", %{
|
347
395
|
<% chapter "History" do %>
|
348
396
|
> TODO: put a brief history about your project here
|
349
397
|
|
@@ -351,7 +399,7 @@
|
|
351
399
|
> TODO: put release notes for your project
|
352
400
|
> here -- newest first, oldest last.
|
353
401
|
|
354
|
-
<% section "Version #{
|
402
|
+
<% section "Version #{project_version} (#{project_release})" do %>
|
355
403
|
> TODO: write a short summary of the changes in this release
|
356
404
|
|
357
405
|
This release changes __________, adds __________, and fixes __________.
|
data/doc/api/Inochi.html
CHANGED
@@ -241,48 +241,48 @@ The eRuby template which serves as the documentation for the project.
|
|
241
241
|
<pre class="lines">
|
242
242
|
|
243
243
|
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
244
|
+
951
|
245
|
+
952
|
246
|
+
953
|
247
|
+
954
|
248
|
+
955
|
249
|
+
956
|
250
|
+
957
|
251
|
+
958
|
252
|
+
959
|
253
|
+
960
|
254
|
+
961
|
255
|
+
962
|
256
|
+
963
|
257
|
+
964
|
258
|
+
965
|
259
|
+
966
|
260
|
+
967
|
261
|
+
968
|
262
|
+
969
|
263
|
+
970
|
264
|
+
971
|
265
|
+
972
|
266
|
+
973
|
267
|
+
974
|
268
|
+
975
|
269
|
+
976
|
270
|
+
977
|
271
|
+
978
|
272
|
+
979
|
273
|
+
980
|
274
|
+
981
|
275
|
+
982
|
276
|
+
983
|
277
|
+
984
|
278
|
+
985
|
279
|
+
986
|
280
|
+
987
|
281
|
+
988
|
282
|
+
989</pre>
|
283
283
|
</td>
|
284
284
|
<td>
|
285
|
-
<pre class="code"><span class="info file"># File 'lib/inochi/inochi.rb', line
|
285
|
+
<pre class="code"><span class="info file"># File 'lib/inochi/inochi.rb', line 951</span>
|
286
286
|
|
287
287
|
<span class='def def kw'>def</span> <span class='book identifier id'>book</span> <span class='project_symbol identifier id'>project_symbol</span><span class='comma token'>,</span> <span class='book_template identifier id'>book_template</span>
|
288
288
|
<span class='project_module identifier id'>project_module</span> <span class='assign token'>=</span> <span class='fetch_project_module identifier id'>fetch_project_module</span><span class='lparen token'>(</span><span class='project_symbol identifier id'>project_symbol</span><span class='rparen token'>)</span>
|
@@ -361,12 +361,12 @@ project name fully in lowercase.
|
|
361
361
|
<pre class="lines">
|
362
362
|
|
363
363
|
|
364
|
-
|
365
|
-
|
366
|
-
|
364
|
+
995
|
365
|
+
996
|
366
|
+
997</pre>
|
367
367
|
</td>
|
368
368
|
<td>
|
369
|
-
<pre class="code"><span class="info file"># File 'lib/inochi/inochi.rb', line
|
369
|
+
<pre class="code"><span class="info file"># File 'lib/inochi/inochi.rb', line 995</span>
|
370
370
|
|
371
371
|
<span class='def def kw'>def</span> <span class='calc_program_name identifier id'>calc_program_name</span> <span class='project_symbol identifier id'>project_symbol</span>
|
372
372
|
<span class='camel_to_snake_case identifier id'>camel_to_snake_case</span><span class='lparen token'>(</span><span class='project_symbol identifier id'>project_symbol</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='downcase identifier id'>downcase</span>
|
@@ -408,13 +408,13 @@ Calculates the name of the project module from the given project name.
|
|
408
408
|
<pre class="lines">
|
409
409
|
|
410
410
|
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
411
|
+
1002
|
412
|
+
1003
|
413
|
+
1004
|
414
|
+
1005</pre>
|
415
415
|
</td>
|
416
416
|
<td>
|
417
|
-
<pre class="code"><span class="info file"># File 'lib/inochi/inochi.rb', line
|
417
|
+
<pre class="code"><span class="info file"># File 'lib/inochi/inochi.rb', line 1002</span>
|
418
418
|
|
419
419
|
<span class='def def kw'>def</span> <span class='calc_project_symbol identifier id'>calc_project_symbol</span> <span class='project_name identifier id'>project_name</span>
|
420
420
|
<span class='name identifier id'>name</span> <span class='assign token'>=</span> <span class='project_name identifier id'>project_name</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='dot token'>.</span><span class='gsub identifier id'>gsub</span><span class='lparen token'>(</span><span class='regexp val'>/\W+/</span><span class='comma token'>,</span> <span class='string val'>'_'</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='squeeze identifier id'>squeeze</span><span class='lparen token'>(</span><span class='string val'>'_'</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='gsub identifier id'>gsub</span><span class='lparen token'>(</span><span class='regexp val'>/^_|_$/</span><span class='comma token'>,</span> <span class='string val'>''</span><span class='rparen token'>)</span>
|
@@ -457,22 +457,22 @@ Transforms the given input from CamelCase to snake_case.
|
|
457
457
|
<pre class="lines">
|
458
458
|
|
459
459
|
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
460
|
+
1010
|
461
|
+
1011
|
462
|
+
1012
|
463
|
+
1013
|
464
|
+
1014
|
465
|
+
1015
|
466
|
+
1016
|
467
|
+
1017
|
468
|
+
1018
|
469
|
+
1019
|
470
|
+
1020
|
471
|
+
1021
|
472
|
+
1022</pre>
|
473
473
|
</td>
|
474
474
|
<td>
|
475
|
-
<pre class="code"><span class="info file"># File 'lib/inochi/inochi.rb', line
|
475
|
+
<pre class="code"><span class="info file"># File 'lib/inochi/inochi.rb', line 1010</span>
|
476
476
|
|
477
477
|
<span class='def def kw'>def</span> <span class='camel_to_snake_case identifier id'>camel_to_snake_case</span> <span class='input identifier id'>input</span>
|
478
478
|
<span class='input identifier id'>input</span> <span class='assign token'>=</span> <span class='input identifier id'>input</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='dot token'>.</span><span class='dup identifier id'>dup</span>
|
@@ -1050,8 +1050,9 @@ Provides Rake tasks for packaging, publishing, and announcing your project.
|
|
1050
1050
|
their contact information) is added to the project module.
|
1051
1051
|
|
1052
1052
|
<p>
|
1053
|
-
|
1054
|
-
|
1053
|
+
Unless this information is supplied via the :authors option, it is
|
1054
|
+
automatically extracted from copyright notices in the project license file,
|
1055
|
+
where the first copyright notice is expected to correspond to the primary
|
1055
1056
|
project maintainer.
|
1056
1057
|
</p>
|
1057
1058
|
<p>
|
@@ -1102,6 +1103,12 @@ project.
|
|
1102
1103
|
Additional method parameters, which are all optional:
|
1103
1104
|
</p>
|
1104
1105
|
<dl>
|
1106
|
+
<dt>Array</dt><dd>:authors => A list of project authors and their contact information.
|
1107
|
+
This list must have the form "[[name, info]]" where
|
1108
|
+
"name" is the name of a project author and "info" is
|
1109
|
+
their contact information.
|
1110
|
+
|
1111
|
+
</dd>
|
1105
1112
|
<dt>String</dt><dd>:license_file => Path (relative to the main project directory which
|
1106
1113
|
contains the project Rakefile) to the file which contains the project
|
1107
1114
|
license.
|
@@ -1211,12 +1218,6 @@ the gem specification
|
|
1211
1218
|
<pre class="lines">
|
1212
1219
|
|
1213
1220
|
|
1214
|
-
302
|
1215
|
-
303
|
1216
|
-
304
|
1217
|
-
305
|
1218
|
-
306
|
1219
|
-
307
|
1220
1221
|
308
|
1221
1222
|
309
|
1222
1223
|
310
|
@@ -1784,10 +1785,51 @@ the gem specification
|
|
1784
1785
|
872
|
1785
1786
|
873
|
1786
1787
|
874
|
1787
|
-
875
|
1788
|
+
875
|
1789
|
+
876
|
1790
|
+
877
|
1791
|
+
878
|
1792
|
+
879
|
1793
|
+
880
|
1794
|
+
881
|
1795
|
+
882
|
1796
|
+
883
|
1797
|
+
884
|
1798
|
+
885
|
1799
|
+
886
|
1800
|
+
887
|
1801
|
+
888
|
1802
|
+
889
|
1803
|
+
890
|
1804
|
+
891
|
1805
|
+
892
|
1806
|
+
893
|
1807
|
+
894
|
1808
|
+
895
|
1809
|
+
896
|
1810
|
+
897
|
1811
|
+
898
|
1812
|
+
899
|
1813
|
+
900
|
1814
|
+
901
|
1815
|
+
902
|
1816
|
+
903
|
1817
|
+
904
|
1818
|
+
905
|
1819
|
+
906
|
1820
|
+
907
|
1821
|
+
908
|
1822
|
+
909
|
1823
|
+
910
|
1824
|
+
911
|
1825
|
+
912
|
1826
|
+
913
|
1827
|
+
914
|
1828
|
+
915
|
1829
|
+
916</pre>
|
1788
1830
|
</td>
|
1789
1831
|
<td>
|
1790
|
-
<pre class="code"><span class="info file"># File 'lib/inochi/inochi.rb', line
|
1832
|
+
<pre class="code"><span class="info file"># File 'lib/inochi/inochi.rb', line 308</span>
|
1791
1833
|
|
1792
1834
|
<span class='def def kw'>def</span> <span class='rake identifier id'>rake</span> <span class='project_symbol identifier id'>project_symbol</span><span class='comma token'>,</span> <span class='options identifier id'>options</span> <span class='assign token'>=</span> <span class='semicolon token'>;</span><span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='comma token'>,</span> <span class='bitand op'>&</span><span class='gem_config identifier id'>gem_config</span>
|
1793
1835
|
<span class='program_file identifier id'>program_file</span> <span class='assign token'>=</span> <span class='first_caller_file identifier id'>first_caller_file</span>
|
@@ -1795,24 +1837,24 @@ the gem specification
|
|
1795
1837
|
|
1796
1838
|
<span class='comment val'># load the project module</span>
|
1797
1839
|
<span class='program_name identifier id'>program_name</span> <span class='assign token'>=</span> <span class='File constant id'>File</span><span class='dot token'>.</span><span class='basename identifier id'>basename</span><span class='lparen token'>(</span><span class='program_home identifier id'>program_home</span><span class='rparen token'>)</span>
|
1840
|
+
<span class='project_libs identifier id'>project_libs</span> <span class='assign token'>=</span> <span class='File constant id'>File</span><span class='dot token'>.</span><span class='join identifier id'>join</span><span class='lparen token'>(</span><span class='string val'>'lib'</span><span class='comma token'>,</span> <span class='program_name identifier id'>program_name</span><span class='rparen token'>)</span>
|
1798
1841
|
|
1799
|
-
<span class='require identifier id'>require</span> <span class='
|
1842
|
+
<span class='require identifier id'>require</span> <span class='project_libs identifier id'>project_libs</span>
|
1800
1843
|
<span class='project_module identifier id'>project_module</span> <span class='assign token'>=</span> <span class='fetch_project_module identifier id'>fetch_project_module</span><span class='lparen token'>(</span><span class='project_symbol identifier id'>project_symbol</span><span class='rparen token'>)</span>
|
1801
1844
|
|
1802
1845
|
<span class='comment val'># supply default options</span>
|
1803
1846
|
<span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:rubyforge_project</span><span class='rbrack token'>]</span> <span class='opasgn op'>||=</span> <span class='program_name identifier id'>program_name</span>
|
1804
1847
|
<span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:rubyforge_section</span><span class='rbrack token'>]</span> <span class='opasgn op'>||=</span> <span class='program_name identifier id'>program_name</span>
|
1805
|
-
<span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:raa_project</span><span class='rbrack token'>]</span>
|
1806
|
-
<span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:license_file</span><span class='rbrack token'>]</span>
|
1807
|
-
<span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:logins_file</span><span class='rbrack token'>]</span>
|
1808
|
-
<span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:upload_delete</span><span class='rbrack token'>]</span>
|
1809
|
-
<span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:upload_options</span><span class='rbrack token'>]</span>
|
1848
|
+
<span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:raa_project</span><span class='rbrack token'>]</span> <span class='opasgn op'>||=</span> <span class='program_name identifier id'>program_name</span>
|
1849
|
+
<span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:license_file</span><span class='rbrack token'>]</span> <span class='opasgn op'>||=</span> <span class='string val'>'LICENSE'</span>
|
1850
|
+
<span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:logins_file</span><span class='rbrack token'>]</span> <span class='opasgn op'>||=</span> <span class='File constant id'>File</span><span class='dot token'>.</span><span class='join identifier id'>join</span><span class='lparen token'>(</span><span class='ENV constant id'>ENV</span><span class='lbrack token'>[</span><span class='string val'>'HOME'</span><span class='rbrack token'>]</span><span class='comma token'>,</span> <span class='string val'>'.config'</span><span class='comma token'>,</span> <span class='string val'>'inochi'</span><span class='comma token'>,</span> <span class='string val'>'logins.yaml'</span><span class='rparen token'>)</span>
|
1851
|
+
<span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:upload_delete</span><span class='rbrack token'>]</span> <span class='opasgn op'>||=</span> <span class='false false kw'>false</span>
|
1852
|
+
<span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:upload_options</span><span class='rbrack token'>]</span> <span class='opasgn op'>||=</span> <span class='lbrack token'>[</span><span class='rbrack token'>]</span>
|
1810
1853
|
|
1811
1854
|
<span class='comment val'># add AUTHORS constant to the project module</span>
|
1812
|
-
<span class='
|
1813
|
-
|
1814
|
-
|
1815
|
-
<span class='license identifier id'>license</span><span class='dot token'>.</span><span class='scan identifier id'>scan</span><span class='lparen token'>(</span><span class='regexp val'>/Copyright.*?\d+\s+(.*)/</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='flatten identifier id'>flatten</span><span class='dot token'>.</span>
|
1855
|
+
<span class='copyright_holders identifier id'>copyright_holders</span> <span class='assign token'>=</span> <span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:authors</span><span class='rbrack token'>]</span> <span class='orop op'>||</span>
|
1856
|
+
<span class='File constant id'>File</span><span class='dot token'>.</span><span class='read identifier id'>read</span><span class='lparen token'>(</span><span class='options identifier id'>options</span><span class='lbrack token'>[</span><span class='symbol val'>:license_file</span><span class='rbrack token'>]</span><span class='rparen token'>)</span><span class='dot token'>.</span>
|
1857
|
+
<span class='scan identifier id'>scan</span><span class='lparen token'>(</span><span class='regexp val'>/Copyright.*?\d+\s+(.*)/</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='flatten identifier id'>flatten</span><span class='dot token'>.</span>
|
1816
1858
|
<span class='map identifier id'>map</span> <span class='lbrace token'>{</span><span class='bitor op'>|</span><span class='s identifier id'>s</span><span class='bitor op'>|</span> <span class='lparen token'>(</span><span class='s identifier id'>s</span> <span class='match op'>=~</span> <span class='regexp val'>/\s*<(.*?)>/</span><span class='rparen token'>)</span> <span class='question op'>?</span> <span class='lbrack token'>[</span><span class='$` back_ref id'>$`</span><span class='comma token'>,</span> <span class='$1 nth_ref id'>$1</span><span class='rbrack token'>]</span> <span class='colon op'>:</span> <span class='lbrack token'>[</span><span class='s identifier id'>s</span><span class='comma token'>,</span> <span class='string val'>''</span><span class='rbrack token'>]</span> <span class='rbrace token'>}</span>
|
1817
1859
|
|
1818
1860
|
<span class='project_module identifier id'>project_module</span><span class='dot token'>.</span><span class='const_set identifier id'>const_set</span> <span class='symbol val'>:AUTHORS</span><span class='comma token'>,</span> <span class='copyright_holders identifier id'>copyright_holders</span>
|
@@ -1823,6 +1865,38 @@ the gem specification
|
|
1823
1865
|
<span class='Rake constant id'>Rake</span><span class='colon2 op'>::</span><span class='Task constant id'>Task</span><span class='lbrack token'>[</span><span class='name identifier id'>name</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='instance_variable_set identifier id'>instance_variable_set</span> <span class='symbol val'>:@comment</span><span class='comma token'>,</span> <span class='nil nil kw'>nil</span>
|
1824
1866
|
<span class='end end kw'>end</span>
|
1825
1867
|
|
1868
|
+
<span class='comment val'># testing</span>
|
1869
|
+
<span class='desc identifier id'>desc</span> <span class='string val'>'Run all unit tests.'</span>
|
1870
|
+
<span class='task identifier id'>task</span> <span class='symbol val'>:test</span> <span class='do do kw'>do</span>
|
1871
|
+
<span class='ruby identifier id'>ruby</span> <span class='string val'>'-w'</span><span class='comma token'>,</span> <span class='string val'>'-I.'</span><span class='comma token'>,</span> <span class='string val'>'-Ilib'</span><span class='comma token'>,</span> <span class='string val'>'-r'</span><span class='comma token'>,</span> <span class='program_name identifier id'>program_name</span><span class='comma token'>,</span> <span class='string val'>'-e'</span><span class='comma token'>,</span> <span class='string val'>%q{
|
1872
|
+
# set title of test suite
|
1873
|
+
$0 = File.basename(Dir.pwd)
|
1874
|
+
|
1875
|
+
require 'minitest/unit'
|
1876
|
+
require 'minitest/spec'
|
1877
|
+
require 'minitest/mock'
|
1878
|
+
MiniTest::Unit.autorun
|
1879
|
+
|
1880
|
+
Dir['test/**/*.rb'].sort.each do |test|
|
1881
|
+
unit = test.sub('test/', 'lib/')
|
1882
|
+
|
1883
|
+
if File.exist? unit
|
1884
|
+
# strip file extension because require()
|
1885
|
+
# does not normalize its input and it
|
1886
|
+
# will think that the two paths (with &
|
1887
|
+
# without file extension) are different
|
1888
|
+
unit_path = unit.sub(/\.rb$/, '').sub('lib/', '')
|
1889
|
+
test_path = test.sub(/\.rb$/, '')
|
1890
|
+
|
1891
|
+
require unit_path
|
1892
|
+
require test_path
|
1893
|
+
else
|
1894
|
+
warn "Skipped test #{test.inspect} because it lacks a corresponding #{unit.inspect} unit."
|
1895
|
+
end
|
1896
|
+
end
|
1897
|
+
}</span>
|
1898
|
+
<span class='end end kw'>end</span>
|
1899
|
+
|
1826
1900
|
<span class='comment val'># documentation</span>
|
1827
1901
|
<span class='desc identifier id'>desc</span> <span class='string val'>'Build all documentation.'</span>
|
1828
1902
|
<span class='task identifier id'>task</span> <span class='symbol val'>:doc</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='dstring node'>%w[ doc:api doc:man ]</span>
|
@@ -1924,9 +1998,9 @@ the gem specification
|
|
1924
1998
|
<span class='File constant id'>File</span><span class='dot token'>.</span><span class='delete identifier id'>delete</span> <span class='tmp_file identifier id'>tmp_file</span>
|
1925
1999
|
<span class='end end kw'>end</span>
|
1926
2000
|
|
1927
|
-
<span class='comment val'># improve readability of list items
|
1928
|
-
<span class='comment val'>#
|
1929
|
-
<span class='text identifier id'>text</span><span class='dot token'>.</span><span class='gsub! fid id'>gsub!</span> <span class='regexp val'>%r{
|
2001
|
+
<span class='comment val'># improve readability of list items</span>
|
2002
|
+
<span class='comment val'># by adding a blank line between them</span>
|
2003
|
+
<span class='text identifier id'>text</span><span class='dot token'>.</span><span class='gsub! fid id'>gsub!</span> <span class='regexp val'>%r{(\r?\n)( +\* \S)}</span><span class='comma token'>,</span> <span class='string val'>'\1\1\2'</span>
|
1930
2004
|
|
1931
2005
|
<span class='text identifier id'>text</span>
|
1932
2006
|
<span class='end end kw'>end</span>
|
@@ -1972,6 +2046,9 @@ the gem specification
|
|
1972
2046
|
<span class='comment val'># remove heading navigation menus</span>
|
1973
2047
|
<span class='ann_html identifier id'>ann_html</span><span class='dot token'>.</span><span class='gsub! fid id'>gsub!</span> <span class='regexp val'>%r{<div class="nav"[^>]*>(.*?)</div>}</span><span class='comma token'>,</span> <span class='string val'>''</span>
|
1974
2048
|
|
2049
|
+
<span class='comment val'># remove latex-style heading numbers</span>
|
2050
|
+
<span class='ann_html identifier id'>ann_html</span><span class='dot token'>.</span><span class='gsub! fid id'>gsub!</span> <span class='regexp val'>%r"(<(h\d)[^>]*>).+?(?:&nbsp;){2}(.+?)(</\2>)"</span><span class='m identifier id'>m</span><span class='comma token'>,</span> <span class='string val'>'\1\3\4'</span>
|
2051
|
+
|
1975
2052
|
<span class='ann_html identifier id'>ann_html</span> <span class='assign token'>=</span> <span class='resolve_html_links identifier id'>resolve_html_links</span><span class='lbrack token'>[</span><span class='ann_html identifier id'>ann_html</span><span class='rbrack token'>]</span>
|
1976
2053
|
<span class='end end kw'>end</span>
|
1977
2054
|
<span class='end end kw'>end</span>
|