autumn 3.1.8
Sign up to get free protection for your applications and to get access to all the features.
- data/AUTHORS +11 -0
- data/CHANGELOG +567 -0
- data/MANIFEST +110 -0
- data/README +1114 -0
- data/README.textile +1153 -0
- data/Rakefile +75 -0
- data/autumn.gemspec +44 -0
- data/bin/autumn +11 -0
- data/lib/autumn.rb +8 -0
- data/lib/autumn/authentication.rb +238 -0
- data/lib/autumn/channel_leaf.rb +107 -0
- data/lib/autumn/coder.rb +166 -0
- data/lib/autumn/console_boot.rb +10 -0
- data/lib/autumn/ctcp.rb +250 -0
- data/lib/autumn/daemon.rb +207 -0
- data/lib/autumn/datamapper_hacks.rb +290 -0
- data/lib/autumn/foliater.rb +231 -0
- data/lib/autumn/formatting.rb +236 -0
- data/lib/autumn/generator.rb +231 -0
- data/lib/autumn/genesis.rb +190 -0
- data/lib/autumn/inheritable_attributes.rb +162 -0
- data/lib/autumn/leaf.rb +738 -0
- data/lib/autumn/log_facade.rb +49 -0
- data/lib/autumn/misc.rb +87 -0
- data/lib/autumn/resources/daemons/Anothernet.yml +3 -0
- data/lib/autumn/resources/daemons/AustHex.yml +29 -0
- data/lib/autumn/resources/daemons/Bahamut.yml +67 -0
- data/lib/autumn/resources/daemons/Dancer.yml +3 -0
- data/lib/autumn/resources/daemons/GameSurge.yml +3 -0
- data/lib/autumn/resources/daemons/IRCnet.yml +3 -0
- data/lib/autumn/resources/daemons/Ithildin.yml +7 -0
- data/lib/autumn/resources/daemons/KineIRCd.yml +56 -0
- data/lib/autumn/resources/daemons/PTlink.yml +6 -0
- data/lib/autumn/resources/daemons/QuakeNet.yml +20 -0
- data/lib/autumn/resources/daemons/RFC1459.yml +158 -0
- data/lib/autumn/resources/daemons/RFC2811.yml +16 -0
- data/lib/autumn/resources/daemons/RFC2812.yml +36 -0
- data/lib/autumn/resources/daemons/RatBox.yml +25 -0
- data/lib/autumn/resources/daemons/Ultimate.yml +24 -0
- data/lib/autumn/resources/daemons/Undernet.yml +6 -0
- data/lib/autumn/resources/daemons/Unreal.yml +110 -0
- data/lib/autumn/resources/daemons/_Other.yml +7 -0
- data/lib/autumn/resources/daemons/aircd.yml +33 -0
- data/lib/autumn/resources/daemons/bdq-ircd.yml +3 -0
- data/lib/autumn/resources/daemons/hybrid.yml +38 -0
- data/lib/autumn/resources/daemons/ircu.yml +67 -0
- data/lib/autumn/resources/daemons/tr-ircd.yml +8 -0
- data/lib/autumn/script.rb +74 -0
- data/lib/autumn/speciator.rb +165 -0
- data/lib/autumn/stem.rb +919 -0
- data/lib/autumn/stem_facade.rb +176 -0
- data/lib/autumn/tool/bin.rb +301 -0
- data/lib/autumn/tool/create.rb +48 -0
- data/lib/autumn/tool/project_creator.rb +110 -0
- data/lib/autumn/version.rb +3 -0
- data/lib/skel/Rakefile +163 -0
- data/lib/skel/config/global.yml +2 -0
- data/lib/skel/config/seasons/testing/database.yml +4 -0
- data/lib/skel/config/seasons/testing/leaves.yml +9 -0
- data/lib/skel/config/seasons/testing/season.yml +2 -0
- data/lib/skel/config/seasons/testing/stems.yml +10 -0
- data/lib/skel/leaves/administrator/README +20 -0
- data/lib/skel/leaves/administrator/controller.rb +67 -0
- data/lib/skel/leaves/administrator/views/autumn.txt.erb +1 -0
- data/lib/skel/leaves/administrator/views/reload.txt.erb +11 -0
- data/lib/skel/leaves/insulter/README +17 -0
- data/lib/skel/leaves/insulter/controller.rb +65 -0
- data/lib/skel/leaves/insulter/views/about.txt.erb +1 -0
- data/lib/skel/leaves/insulter/views/help.txt.erb +1 -0
- data/lib/skel/leaves/insulter/views/insult.txt.erb +1 -0
- data/lib/skel/leaves/scorekeeper/README +34 -0
- data/lib/skel/leaves/scorekeeper/config.yml +2 -0
- data/lib/skel/leaves/scorekeeper/controller.rb +104 -0
- data/lib/skel/leaves/scorekeeper/helpers/general.rb +64 -0
- data/lib/skel/leaves/scorekeeper/models/channel.rb +12 -0
- data/lib/skel/leaves/scorekeeper/models/person.rb +14 -0
- data/lib/skel/leaves/scorekeeper/models/pseudonym.rb +11 -0
- data/lib/skel/leaves/scorekeeper/models/score.rb +14 -0
- data/lib/skel/leaves/scorekeeper/tasks/stats.rake +17 -0
- data/lib/skel/leaves/scorekeeper/views/about.txt.erb +1 -0
- data/lib/skel/leaves/scorekeeper/views/change.txt.erb +5 -0
- data/lib/skel/leaves/scorekeeper/views/history.txt.erb +11 -0
- data/lib/skel/leaves/scorekeeper/views/points.txt.erb +5 -0
- data/lib/skel/leaves/scorekeeper/views/usage.txt.erb +1 -0
- data/lib/skel/log/README +1 -0
- data/lib/skel/script/console +28 -0
- data/lib/skel/script/destroy +48 -0
- data/lib/skel/script/generate +48 -0
- data/lib/skel/shared/README +1 -0
- data/lib/skel/tmp/README +1 -0
- data/spec/authentication_spec.rb +328 -0
- data/spec/channel_leaf_spec.rb +142 -0
- data/spec/coder_spec.rb +146 -0
- data/spec/ctcp_spec.rb +222 -0
- data/spec/daemon_spec.rb +202 -0
- data/spec/datamapper_hacks_spec.rb +164 -0
- data/tasks/authors.rake +30 -0
- data/tasks/changelog.rake +18 -0
- data/tasks/copyright.rake +21 -0
- data/tasks/doc.rake +7 -0
- data/tasks/gem.rake +23 -0
- data/tasks/gem_installer.rake +76 -0
- data/tasks/install_dependencies.rake +6 -0
- data/tasks/manifest.rake +4 -0
- data/tasks/rcov.rake +23 -0
- data/tasks/release.rake +52 -0
- data/tasks/reversion.rake +8 -0
- data/tasks/setup.rake +24 -0
- data/tasks/spec.rake +7 -0
- data/tasks/yard.rake +4 -0
- metadata +188 -0
@@ -0,0 +1,16 @@
|
|
1
|
+
---
|
2
|
+
channel_mode:
|
3
|
+
a: :anonymous
|
4
|
+
O: :creator
|
5
|
+
e: :ban_exception
|
6
|
+
q: :quiet
|
7
|
+
r: :reop
|
8
|
+
h: :halfop
|
9
|
+
I: :invitation_mask
|
10
|
+
channel_prefix:
|
11
|
+
+: :network_unmoderated
|
12
|
+
"!": :network_safe
|
13
|
+
privilege:
|
14
|
+
O: :creator
|
15
|
+
usermode:
|
16
|
+
"@": :creator
|
@@ -0,0 +1,36 @@
|
|
1
|
+
---
|
2
|
+
event:
|
3
|
+
478: :err_banlistfull
|
4
|
+
346: :rpl_invitelist
|
5
|
+
247: :rpl_statsbline
|
6
|
+
5: :rpl_bounce
|
7
|
+
484: :err_restricted
|
8
|
+
209: :rpl_traceclass
|
9
|
+
347: :rpl_endofinvitelist
|
10
|
+
325: :rpl_uniqopis
|
11
|
+
485: :err_uniqoprivsneeded
|
12
|
+
408: :err_nosuchservice
|
13
|
+
210: :rpl_tracereconnect
|
14
|
+
1: :rpl_welcome
|
15
|
+
348: :rpl_exceptlist
|
16
|
+
2: :rpl_yourhost
|
17
|
+
437: :err_unavailresource
|
18
|
+
415: :err_badmask
|
19
|
+
349: :rpl_endofexceptlist
|
20
|
+
250: :rpl_statsdline
|
21
|
+
476: :err_badchanmask
|
22
|
+
234: :rpl_servlist
|
23
|
+
3: :rpl_created
|
24
|
+
383: :rpl_youreservice
|
25
|
+
262: :rpl_traceend
|
26
|
+
240: :rpl_statsvline
|
27
|
+
207: :rpl_traceservice
|
28
|
+
477: :err_nochanmodes
|
29
|
+
246: :rpl_statsping
|
30
|
+
235: :rpl_servlistend
|
31
|
+
4: :rpl_myinfo
|
32
|
+
263: :rpl_tryagain
|
33
|
+
usermode:
|
34
|
+
a: :away
|
35
|
+
O: :local_operator
|
36
|
+
r: :restricted
|
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
event:
|
3
|
+
720: :rpl_omotdstart
|
4
|
+
709: :rpl_etrace
|
5
|
+
726: :rpl_notestline
|
6
|
+
715: :err_knockdisabled
|
7
|
+
704: :rpl_helpstart
|
8
|
+
721: :rpl_omotd
|
9
|
+
710: :rpl_knock
|
10
|
+
716: :rpl_targumodeg
|
11
|
+
705: :rpl_helptxt
|
12
|
+
722: :rpl_endofomotd
|
13
|
+
711: :rpl_knockdlvr
|
14
|
+
717: :rpl_targnotify
|
15
|
+
706: :rpl_endofhelp
|
16
|
+
723: :err_noprivs
|
17
|
+
712: :err_toomanyknock
|
18
|
+
718: :rpl_umodegmsg
|
19
|
+
724: :rpl_testmark
|
20
|
+
713: :err_chanopen
|
21
|
+
702: :rpl_modlist
|
22
|
+
708: :rpl_etracefull
|
23
|
+
725: :rpl_testline
|
24
|
+
714: :err_knockonchan
|
25
|
+
703: :rpl_endofmodlist
|
@@ -0,0 +1,24 @@
|
|
1
|
+
---
|
2
|
+
event:
|
3
|
+
621: :rpl_rules
|
4
|
+
610: :rpl_isoper
|
5
|
+
434: :err_norules
|
6
|
+
616: :rpl_whoishost
|
7
|
+
275: :rpl_statsdline
|
8
|
+
622: :rpl_endofrules
|
9
|
+
611: :rpl_islocop
|
10
|
+
617: :rpl_whoisbot
|
11
|
+
386: :rpl_ircops
|
12
|
+
623: :rpl_mapmore
|
13
|
+
612: :rpl_isnotoper
|
14
|
+
387: :rpl_endofircops
|
15
|
+
624: :rpl_omotdstart
|
16
|
+
613: :rpl_endofisoper
|
17
|
+
630: :rpl_settings
|
18
|
+
619: :rpl_whowashost
|
19
|
+
608: :rpl_watchclear
|
20
|
+
625: :rpl_omotd
|
21
|
+
631: :rpl_endofsettings
|
22
|
+
620: :rpl_rulesstart
|
23
|
+
626: :rpl_endofo
|
24
|
+
615: :rpl_whoismodes
|
@@ -0,0 +1,110 @@
|
|
1
|
+
---
|
2
|
+
channel_mode:
|
3
|
+
V: :no_invite
|
4
|
+
K: :noknock
|
5
|
+
L: :link
|
6
|
+
A: :admin_only
|
7
|
+
a: :channel_protection
|
8
|
+
M: :regonly
|
9
|
+
N: :no_nick_change
|
10
|
+
C: :no_ctcp
|
11
|
+
z: :secured_only
|
12
|
+
O: :oper_only
|
13
|
+
Q: :no_kick
|
14
|
+
q: :channel_owner
|
15
|
+
f: :flood_limit
|
16
|
+
G: :strip_bad_words
|
17
|
+
S: :strip
|
18
|
+
H: :no_hiding
|
19
|
+
u: :auditorium
|
20
|
+
event:
|
21
|
+
389: :rpl_endofalist
|
22
|
+
294: :rpl_helpfwd
|
23
|
+
484: :err_attackdeny
|
24
|
+
247: :rpl_statsxline
|
25
|
+
295: :rpl_helpign
|
26
|
+
447: :err_nonickchange
|
27
|
+
485: :err_killdeny
|
28
|
+
334: :rpl_listsyntax
|
29
|
+
486: :err_htmdisabled
|
30
|
+
524: :err_operspverify
|
31
|
+
600: :rpl_logon
|
32
|
+
220: :rpl_statsbline
|
33
|
+
477: :err_needreggednick
|
34
|
+
610: :rpl_mapmore
|
35
|
+
601: :rpl_logoff
|
36
|
+
468: :err_onlyserverscanchange
|
37
|
+
335: :rpl_whoisbot
|
38
|
+
972: :err_cannotdocommand
|
39
|
+
307: :rpl_whoisregnick
|
40
|
+
250: :rpl_statsconn
|
41
|
+
459: :err_nohiding
|
42
|
+
440: :err_servicesdown
|
43
|
+
602: :rpl_watchoff
|
44
|
+
222: :rpl_sqline_nick
|
45
|
+
640: :rpl_dumping
|
46
|
+
469: :err_linkset
|
47
|
+
460: :err_notforhalfops
|
48
|
+
232: :rpl_rules
|
49
|
+
479: :err_linkfail
|
50
|
+
308: :rpl_rulesstart
|
51
|
+
603: :rpl_watchstat
|
52
|
+
223: :rpl_statsgline
|
53
|
+
641: :rpl_dumprpl
|
54
|
+
470: :err_linkchannel
|
55
|
+
489: :err_secureonlychan
|
56
|
+
290: :rpl_helphdr
|
57
|
+
499: :err_chanownprivneeded
|
58
|
+
480: :err_cannotknock
|
59
|
+
309: :rpl_endofrules
|
60
|
+
518: :err_noinvite
|
61
|
+
385: :rpl_notoperanymore
|
62
|
+
642: :rpl_eodump
|
63
|
+
604: :rpl_nowon
|
64
|
+
224: :rpl_statstline
|
65
|
+
310: :rpl_whoishelpop
|
66
|
+
519: :err_admonly
|
67
|
+
386: :rpl_qlist
|
68
|
+
6: :rpl_map
|
69
|
+
291: :rpl_helpop
|
70
|
+
320: :rpl_whoisspecial
|
71
|
+
605: :rpl_nowoff
|
72
|
+
225: :rpl_statseline
|
73
|
+
434: :err_norules
|
74
|
+
520: :err_operonly
|
75
|
+
387: :rpl_endofqlist
|
76
|
+
7: :rpl_mapend
|
77
|
+
425: :err_noopermotd
|
78
|
+
292: :rpl_helptlr
|
79
|
+
378: :rpl_whoishost
|
80
|
+
606: :rpl_watchlist
|
81
|
+
226: :rpl_statsnline
|
82
|
+
435: :err_serviceconfused
|
83
|
+
388: :rpl_alist
|
84
|
+
293: :rpl_helphlp
|
85
|
+
455: :err_hostilename
|
86
|
+
607: :rpl_endofwatchlist
|
87
|
+
227: :rpl_statsvline
|
88
|
+
379: :rpl_whoismodes
|
89
|
+
usermode:
|
90
|
+
V: :webtv
|
91
|
+
v: :victim
|
92
|
+
W: :whois_paranoia
|
93
|
+
A: :server_admin
|
94
|
+
a: :services_admin
|
95
|
+
x: :host_hiding
|
96
|
+
B: :bot
|
97
|
+
b: :chatops
|
98
|
+
N: :network_admin
|
99
|
+
C: :co_admin
|
100
|
+
z: :secure_conn
|
101
|
+
p: :hide_channels
|
102
|
+
q: :kix
|
103
|
+
R: :no_non_registered
|
104
|
+
G: :strip_bad_words
|
105
|
+
S: :service
|
106
|
+
s: :server_notices
|
107
|
+
H: :hide_oper
|
108
|
+
T: :block_ctcp
|
109
|
+
t: :modified_host
|
110
|
+
I: :invisible_joinpart
|
@@ -0,0 +1,33 @@
|
|
1
|
+
---
|
2
|
+
event:
|
3
|
+
379: :rpl_kicklinked
|
4
|
+
291: :rpl_chaninfo_banned
|
5
|
+
269: :rpl_end_netstat
|
6
|
+
308: :rpl_notifyaction
|
7
|
+
286: :rpl_chaninfo_users
|
8
|
+
380: :rpl_banlinked
|
9
|
+
292: :rpl_chaninfo_bans
|
10
|
+
50: :rpl_attemptingjunc
|
11
|
+
419: :err_lengthtruncated
|
12
|
+
309: :rpl_nicktrace
|
13
|
+
287: :rpl_chaninfo_chops
|
14
|
+
265: :rpl_localusers
|
15
|
+
210: :rpl_stats
|
16
|
+
293: :rpl_chaninfo_invite
|
17
|
+
51: :rpl_attemptingreroute
|
18
|
+
299: :rpl_end_chaninfo
|
19
|
+
288: :rpl_chaninfo_voices
|
20
|
+
266: :rpl_globalusers
|
21
|
+
470: :err_kickedfromchan
|
22
|
+
294: :rpl_chaninfo_invites
|
23
|
+
377: :rpl_kickexpired
|
24
|
+
289: :rpl_chaninfo_away
|
25
|
+
267: :rpl_start_netstat
|
26
|
+
295: :rpl_chaninfo_kick
|
27
|
+
273: :rpl_notify
|
28
|
+
378: :rpl_banexpired
|
29
|
+
290: :rpl_chaninfo_opers
|
30
|
+
268: :rpl_netstat
|
31
|
+
296: :rpl_chaninfo_kicks
|
32
|
+
285: :rpl_chaninfo_handle
|
33
|
+
274: :rpl_endnotify
|
@@ -0,0 +1,38 @@
|
|
1
|
+
---
|
2
|
+
channel_mode:
|
3
|
+
a: :hideops
|
4
|
+
p: :private
|
5
|
+
event:
|
6
|
+
247: :rpl_statsxline
|
7
|
+
225: :rpl_statsdline
|
8
|
+
484: :err_desync
|
9
|
+
385: :rpl_notoperanymore
|
10
|
+
220: :rpl_statspline
|
11
|
+
479: :err_badchanname
|
12
|
+
265: :rpl_localusers
|
13
|
+
249: :rpl_statsdebug
|
14
|
+
266: :rpl_globalusers
|
15
|
+
503: :err_ghostedclient
|
16
|
+
245: :rpl_statssline
|
17
|
+
14: :rpl_yourcookie
|
18
|
+
246: :rpl_statsuline
|
19
|
+
224: :rpl_statsfline
|
20
|
+
user_prefix:
|
21
|
+
"%": :half_operator
|
22
|
+
usermode:
|
23
|
+
k: :kills
|
24
|
+
l: :locops
|
25
|
+
a: :admin
|
26
|
+
x: :external
|
27
|
+
b: :bots
|
28
|
+
y: :spy
|
29
|
+
n: :nchange
|
30
|
+
c: :client_conns
|
31
|
+
z: :operwall
|
32
|
+
d: :debug
|
33
|
+
f: :full
|
34
|
+
r: :rej
|
35
|
+
g: :callerid
|
36
|
+
u: :unauth
|
37
|
+
privilege:
|
38
|
+
h: :half_operator
|
@@ -0,0 +1,67 @@
|
|
1
|
+
---
|
2
|
+
server_mode:
|
3
|
+
s: :service
|
4
|
+
h: :hub
|
5
|
+
channel_mode:
|
6
|
+
r: :regonly
|
7
|
+
event:
|
8
|
+
511: :err_silelistfull
|
9
|
+
280: :rpl_glist
|
10
|
+
247: :rpl_statsgline
|
11
|
+
236: :rpl_statsverbose
|
12
|
+
16: :rpl_mapmore
|
13
|
+
517: :err_disabled
|
14
|
+
495: :err_badlogtype
|
15
|
+
330: :rpl_whoisaccount
|
16
|
+
275: :rpl_statsdline
|
17
|
+
468: :err_invalidusername
|
18
|
+
391: :rpl_time
|
19
|
+
281: :rpl_endofglist
|
20
|
+
270: :rpl_privs
|
21
|
+
248: :rpl_statsuline
|
22
|
+
237: :rpl_statsengine
|
23
|
+
17: :rpl_mapend
|
24
|
+
518: :err_longmask
|
25
|
+
496: :err_badlogsys
|
26
|
+
524: :err_quarantined
|
27
|
+
513: :err_badping
|
28
|
+
282: :rpl_jupelist
|
29
|
+
271: :rpl_silelist
|
30
|
+
238: :rpl_statsfline
|
31
|
+
519: :err_toomanyusers
|
32
|
+
497: :err_badlogvalue
|
33
|
+
354: :rpl_whospcrpl
|
34
|
+
514: :err_invalid_error
|
35
|
+
437: :err_bannickchange
|
36
|
+
338: :rpl_whoisactually
|
37
|
+
283: :rpl_endofjupelist
|
38
|
+
272: :rpl_endofsilelist
|
39
|
+
250: :rpl_statsconn
|
40
|
+
228: :rpl_statsqline
|
41
|
+
217: :rpl_statspline
|
42
|
+
8: :rpl_snomask
|
43
|
+
520: :err_masktoowide
|
44
|
+
498: :err_isoperlchan
|
45
|
+
333: :rpl_topicwhotime
|
46
|
+
515: :err_badexpire
|
47
|
+
493: :err_nofeature
|
48
|
+
438: :err_nicktoofast
|
49
|
+
416: :err_querytoolong
|
50
|
+
284: :rpl_feature
|
51
|
+
9: :rpl_statmemtot
|
52
|
+
477: :err_needreggednick
|
53
|
+
334: :rpl_listusage
|
54
|
+
246: :rpl_statstline
|
55
|
+
15: :rpl_map
|
56
|
+
516: :err_dontcheat
|
57
|
+
494: :err_badfeature
|
58
|
+
439: :err_targettoofast
|
59
|
+
340: :rpl_userip
|
60
|
+
10: :rpl_statmem
|
61
|
+
usermode:
|
62
|
+
k: :service
|
63
|
+
x: :host_hiding
|
64
|
+
d: :deaf
|
65
|
+
r: :registered
|
66
|
+
g: :debug
|
67
|
+
s: :server_notices
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# Defines the Autumn::Script class, which runs the script/generate and
|
2
|
+
# script/destroy utilities.
|
3
|
+
|
4
|
+
require 'getoptlong'
|
5
|
+
require 'rdoc/usage'
|
6
|
+
require 'facets'
|
7
|
+
require 'autumn/generator'
|
8
|
+
|
9
|
+
module Autumn
|
10
|
+
|
11
|
+
# Manages data used by the script/generate and script/destroy scripts. This
|
12
|
+
# class is instantiated by the script, and manages the script's data and
|
13
|
+
# encapsulates common functionality between the two scripts. The object must
|
14
|
+
# be initialized and parse_argv must be called before all attributes are ready
|
15
|
+
# for access.
|
16
|
+
|
17
|
+
class Script # :nodoc:
|
18
|
+
# The name of the Autumn object to be created.
|
19
|
+
attr :name
|
20
|
+
# The type of object to be created (e.g., "leaf").
|
21
|
+
attr :object
|
22
|
+
# The version control system in use for this project, or nil if none is being used for this transaction.
|
23
|
+
attr :vcs
|
24
|
+
# The Generator instance used to create files.
|
25
|
+
attr :generator
|
26
|
+
|
27
|
+
# Creates a new instance.
|
28
|
+
|
29
|
+
def initialize
|
30
|
+
@generator = Autumn::Generator.new
|
31
|
+
end
|
32
|
+
|
33
|
+
# Parses +ARGV+ or similar array. Normally you would pass +ARGV+ into this
|
34
|
+
# method. Populates the +object+ and +name+ attributes and returns true.
|
35
|
+
# Outputs an error and returns false if the given arguments are invalid.
|
36
|
+
|
37
|
+
def parse_argv(argv)
|
38
|
+
if ARGV.length != 2 then
|
39
|
+
$stderr.puts "Please specify an object (e.g., 'leaf') and its name (e.g., 'Scorekeeper')."
|
40
|
+
return false
|
41
|
+
end
|
42
|
+
|
43
|
+
@object = ARGV.shift
|
44
|
+
@name = ARGV.shift
|
45
|
+
|
46
|
+
return true
|
47
|
+
end
|
48
|
+
|
49
|
+
# Determines the version control system in use by this project and sets the
|
50
|
+
# +vcs+ attribute to its name (<tt>:cvs</tt>, <tt>:svn</tt>, or
|
51
|
+
# <tt>:git</tt>).
|
52
|
+
|
53
|
+
def use_vcs
|
54
|
+
@vcs = find_vcs
|
55
|
+
end
|
56
|
+
|
57
|
+
# Calls the method given by the symbol, with two arguments: the +name+
|
58
|
+
# attribute, and an options hash verbosity enabled and the VCS set to the
|
59
|
+
# value of +vcs+.
|
60
|
+
|
61
|
+
def call_generator(meth)
|
62
|
+
generator.send(meth, name, :verbose => true, :vcs => vcs)
|
63
|
+
end
|
64
|
+
|
65
|
+
private
|
66
|
+
|
67
|
+
def find_vcs
|
68
|
+
return :svn if File.exist? '.svn' and File.directory? '.svn'
|
69
|
+
return :cvs if File.exist? 'CVS' and File.directory? 'CVS'
|
70
|
+
return :git if File.exist? '.git' and File.directory? '.git'
|
71
|
+
return nil
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|