jrun-rstack 0.5.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.
Files changed (47) hide show
  1. data/CHANGELOG.txt +0 -0
  2. data/LICENSE.txt +20 -0
  3. data/README.textile +57 -0
  4. data/Rakefile +13 -0
  5. data/bin/rstack +18 -0
  6. data/lib/rstack/configuration.rb +67 -0
  7. data/lib/rstack/generator.rb +58 -0
  8. data/lib/rstack/tasks/doc.rb +15 -0
  9. data/lib/rstack/tasks/gem.rb +52 -0
  10. data/lib/rstack/tasks/rspec.rb +24 -0
  11. data/lib/rstack/version.rb +9 -0
  12. data/lib/rstack.rb +25 -0
  13. data/spec/configuration_spec.rb +49 -0
  14. data/spec/generator_spec.rb +76 -0
  15. data/spec/spec_helper.rb +20 -0
  16. data/spec/tasks/doc_spec.rb +13 -0
  17. data/templates/README.txt +1 -0
  18. data/templates/Rakefile +11 -0
  19. data/templates/cruise_config.rb +10 -0
  20. data/templates/main.rb +1 -0
  21. data/templates/spec_helper.rb +14 -0
  22. data/templates/version.rb +8 -0
  23. data/vendor/allison-2.0.2/CHANGELOG +16 -0
  24. data/vendor/allison-2.0.2/LICENSE +184 -0
  25. data/vendor/allison-2.0.2/Manifest +23 -0
  26. data/vendor/allison-2.0.2/README +66 -0
  27. data/vendor/allison-2.0.2/allison.gemspec +45 -0
  28. data/vendor/allison-2.0.2/bin/allison +9 -0
  29. data/vendor/allison-2.0.2/cache/BODY +571 -0
  30. data/vendor/allison-2.0.2/cache/CLASS_INDEX +4 -0
  31. data/vendor/allison-2.0.2/cache/CLASS_PAGE +1 -0
  32. data/vendor/allison-2.0.2/cache/FILE_INDEX +4 -0
  33. data/vendor/allison-2.0.2/cache/FILE_PAGE +1 -0
  34. data/vendor/allison-2.0.2/cache/FONTS +1 -0
  35. data/vendor/allison-2.0.2/cache/FR_INDEX_BODY +1 -0
  36. data/vendor/allison-2.0.2/cache/INDEX +1 -0
  37. data/vendor/allison-2.0.2/cache/JAVASCRIPT +317 -0
  38. data/vendor/allison-2.0.2/cache/METHOD_INDEX +4 -0
  39. data/vendor/allison-2.0.2/cache/METHOD_LIST +1 -0
  40. data/vendor/allison-2.0.2/cache/PROJECT +1 -0
  41. data/vendor/allison-2.0.2/cache/SRC_PAGE +1 -0
  42. data/vendor/allison-2.0.2/cache/STYLE +321 -0
  43. data/vendor/allison-2.0.2/contrib/Rakefile +147 -0
  44. data/vendor/allison-2.0.2/lib/allison.css +315 -0
  45. data/vendor/allison-2.0.2/lib/allison.js +317 -0
  46. data/vendor/allison-2.0.2/lib/allison.rb +276 -0
  47. metadata +157 -0
@@ -0,0 +1,147 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+ require 'rake/rdoctask'
4
+
5
+ desc 'Default: run unit tests.'
6
+ task :default => :test
7
+
8
+ desc 'Test the yar_wiki plugin.'
9
+ Rake::TestTask.new(:test) do |t|
10
+ ENV['RAILS_ENV'] = 'test'
11
+ t.libs << 'lib'
12
+ t.pattern = 'test/**/*_test.rb'
13
+ t.verbose = true
14
+ end
15
+
16
+ # ERGO teach +sed+ to trim trailing spaces, and to not modify the file time if there were none
17
+ # ERGO teach rdoc to ignore TO-DOs! ;-)
18
+ # ERGO obtain Donne Roberts tracks!
19
+ # ERGO all rake ci commands should complain about stray files
20
+ # ERGO ASCII art for other module header
21
+ # ERGO why FreeRIDE can't see Rakefile??
22
+
23
+
24
+ require 'doc/rdoc_patch' # ERGO move this inside task!
25
+
26
+ #:stopdoc:
27
+ =begin
28
+ ERGO wish list for RDoc:
29
+
30
+ * the ability to alias a link to another part of the project. Example:
31
+
32
+ assert_xpath[AssertXPath#assert_xpath]
33
+ -> <a href='..'>assert_xpath</a>
34
+
35
+ that would shorten the cross-link from another module
36
+
37
+ ! the ability to transclude a snip of source from one module into the
38
+ doc for another. For example, assert_xpath's doc should not say:
39
+
40
+ See AssertXPathTest#test_assert_xpath
41
+
42
+ The contents of that test case should simply appear in the doc itself.
43
+
44
+ * alternative, pretty, persistent URIs for items. Not:
45
+
46
+ http://assertxpath.rubyforge.org/classes/AssertXPath.html#M000106
47
+
48
+ but:
49
+
50
+ http://assertxpath.rubyforge.org/classes/AssertXPath.html#assert_xpath
51
+
52
+ (Note I can do this with your patch, manually, by putting in an anchor)
53
+
54
+ * Each page should have a linker to the root index.html
55
+
56
+ * Ability to stick a method on the page where it belongs, instead
57
+ of the page for the class where it happens to be!
58
+
59
+ * link to complete source (I might be missing this one!)
60
+
61
+ * don't trip over this colon:
62
+
63
+ send(:"format_#{item.kind}", item, ypath)
64
+
65
+ * complain for broken links
66
+
67
+ Finally, this might be pilot error, but certain class names I simply cannot
68
+ get out of the class list...
69
+
70
+ =end
71
+
72
+ #:startdoc:
73
+
74
+ desc 'Generate documentation for the yar_wiki plugin.'
75
+ Rake::RDocTask.new(:rdoc) do |rdoc|
76
+
77
+ # ERGO plunder:
78
+ # http://www.ruby-doc.org/stdlib/libdoc/rdoc/rdoc/index.html
79
+ # http://www.ruby-doc.org/stdlib/libdoc/rdoc/rdoc/classes/Options.html
80
+
81
+ rdoc.rdoc_dir = 'rdoc'
82
+ rdoc.title = 'XPath & JavaScript Assertions'
83
+ rdoc.options << '--line-numbers' << '--inline-source' << '--style=yar-style.css'
84
+
85
+ # ERGO good home for ../yar-style.css
86
+ # ERGO hanging indent on the bullet pointed items5
87
+ # ERGO --style with some groovy yar-wiki- (and flea-) inspired theme
88
+ # ERGO does # :yields: element mean returns?
89
+ # TODO use call-seq to fix *args
90
+
91
+ rdoc.rdoc_files.include('README')
92
+
93
+ rdoc.rdoc_files.include('test/*_test.rb')
94
+ # ERGO clean this up and link in to them
95
+ # and get the method names out of the general index?
96
+
97
+ rdoc.rdoc_files.include('lib/**/*.rb')
98
+ end
99
+
100
+ desc 'send rdocs to rubyforge.org'
101
+ task :publish => :style do
102
+ system 'scp -r rdoc/* phlip@assertxpath.rubyforge.org:/var/www/gforge-projects/assertxpath/'
103
+ end
104
+
105
+ desc 'upgrade and inspect the rdoc folder'
106
+ task :style => :rdoc do
107
+ FileUtils.copy 'doc/yar-style.css', 'rdoc/'
108
+ FileUtils.copy 'doc/sky.png', 'rdoc/'
109
+ system 'grep ERGO rdoc -r'
110
+ system 'grep TODO rdoc -r'
111
+ end
112
+
113
+ task :agiledox do
114
+ tests = FileList['test/**/*_test.rb']
115
+ tests.each do |file|
116
+ m = %r".*/([^/].*)_test.rb".match(file)
117
+ puts m[1]+" should:\n"
118
+ test_definitions = File::readlines(file).select {|line| line =~ /.*def test.*/}
119
+ test_definitions.each do |definition|
120
+ m = %r"test_(should_)?(.*)".match(definition)
121
+ puts " - "+m[2].gsub(/_/," ")
122
+ end
123
+ puts "\n"
124
+ end
125
+ end
126
+
127
+ def findTodos(searchFor)
128
+ folders = %w(lib tasks test wiki)
129
+ files = FileList[ *folders.map{|q| q+'/**/*'} ]
130
+
131
+ files.collect!{|f| f if File.file?(f) }
132
+ files.compact!
133
+
134
+ files.each do |f|
135
+ if f !~ /(db|extra)$/
136
+ system "grep -H #{searchFor} #{f}"
137
+ end
138
+ end
139
+ end
140
+
141
+ # in order of severity...
142
+
143
+ task :fixme do findTodos('FIX'+'ME') end
144
+ task :ergo do findTodos('ER'+'GO') end # this keeps the excessive assert_xpath out of client's TODO searches!
145
+ task :todo do findTodos('TO'+'DO') end
146
+ task :consider do findTodos('CON'+'SIDER') end
147
+ task :note do findTodos('NO'+'TE') end
@@ -0,0 +1,315 @@
1
+
2
+ /*
3
+ Allison template
4
+ Copyright 2007 Cloudburst LLC, all rights reserved
5
+ Redistribution or modification prohibited
6
+ */
7
+
8
+ /* default styles */
9
+
10
+ * {
11
+ margin: 0
12
+ padding: 0
13
+ border: none
14
+ }
15
+
16
+ @default = "#000"
17
+ @background = "#fff"
18
+ @very_light = "#e4ebed"
19
+ @light = "#ccd5dc"
20
+ @medium = "#304878"
21
+ @dark = "#181848"
22
+
23
+ @buffer = 6
24
+
25
+ .clear {
26
+ clear: both
27
+ }
28
+
29
+ a {
30
+ color: @medium
31
+ font-weight: bold
32
+ text-decoration: none
33
+ }
34
+
35
+ a:hover {
36
+ text-decoration: underline
37
+ }
38
+
39
+ html, body {
40
+ color: @default
41
+ font-size: @font_size = 13
42
+ font-family: helvetica, verdana, sans
43
+ background-color: @background
44
+ text-align: center
45
+ margin: 0
46
+ padding: 0
47
+ }
48
+
49
+ p, ul, ol {
50
+ line-height: @lineheight = 16
51
+ } li {
52
+ margin: @buffer / 2
53
+ _margin-left: 40px
54
+ } p, pre, table, ol, ul {
55
+ margin: @lineheight
56
+ } #item_name {
57
+ margin-top: -8px
58
+ }
59
+
60
+ h1 {
61
+ font-size: 22px
62
+ margin-top: @lineheight
63
+ } h2, h3 {
64
+ font-size: @medium_header_size = 18
65
+ margin: @buffer
66
+ margin-right: 0
67
+ padding-top: @buffer * 2
68
+ }
69
+
70
+ /* center everything */
71
+
72
+ #container {
73
+ margin: 20px auto 0 auto
74
+ width: @width = 900
75
+ text-align: left
76
+ }
77
+
78
+ /* header stuff */
79
+
80
+ #header {
81
+ padding: @buffer
82
+ padding-top: @buffer / 2
83
+ width: @width - @buffer * 2
84
+ height: @header_height = 64 - @buffer * 2
85
+ _height: @header_height + @buffer
86
+ margin-bottom: @buffer * 2
87
+ vertical-align: baseline
88
+ background-color: @dark
89
+ overflow: hidden
90
+ } .curve {
91
+ background-color: @dark
92
+ margin: 0
93
+ padding: 0
94
+ height: 1px
95
+ overflow: hidden /* again, ie problem */
96
+ }
97
+
98
+ def curve(div_id, curve_array, width); s = ""; curve_array.length.times {|n| s += "\n##{div_id}#{curve_array.length - 1 - n}{border-left: #{curve_array[n]}px solid #{@background}; border-right: #{curve_array[n]}px solid #{@background}; width: #{width - curve_array[n]*2}px; _width: #{width - 12}px; }"}; s; end
99
+ @curves = [1, 1, 2, 3, 4, 6]
100
+
101
+ curve("preheader_curve_", @curves, @width)
102
+
103
+ #header h1 {
104
+ color: @background
105
+ font-size: 30px
106
+ margin: 4px 0 0 0
107
+ } #header p {
108
+ margin: 0
109
+ padding: 0
110
+ padding-left: 3px
111
+ font-size: 16px
112
+ color: @background
113
+ } #header a {
114
+ color: @background
115
+ text-decoration: none
116
+ font-weight: bold
117
+ }
118
+
119
+ /* basic layout and navigation bars */
120
+
121
+ #left {
122
+ background-color: @dark
123
+ width: @left_width = 220
124
+ float: left
125
+ _width: @left_width - @buffer * 2
126
+ margin-bottom: @buffer * 4
127
+ } #left a {
128
+ line-height: 14px
129
+ }
130
+
131
+ /* navigation bar colors and text styles */
132
+
133
+ .navigation {
134
+ width: @left_width - @buffer * 4
135
+ margin: @buffer
136
+ padding: @buffer
137
+ text-align: left
138
+ background-color: @background
139
+ overflow: hidden
140
+ } .navigation h3 {
141
+ font-weight: bold
142
+ margin-bottom: 5px
143
+ } .navigation span, .navigation a {
144
+ margin-left: @buffer
145
+ } #includes .navigation span, #includes .navigation a {
146
+ margin-left: 0
147
+ } .darker {
148
+ background-color: @very_light
149
+ } #spacer {
150
+ background-color: @background
151
+ height: @buffer * 3
152
+ display: none
153
+ }
154
+
155
+ /* content area */
156
+
157
+ #content {
158
+ padding: @content_padding = 20
159
+ width: @width - @left_width - @content_padding * 2
160
+ float: left
161
+ min-height: 450px
162
+ margin: 0
163
+ margin-bottom: -4px
164
+ } #content img {
165
+ padding-top: @buffer
166
+ padding-bottom: @buffer * 2
167
+ }
168
+
169
+ #content h1, h2 {
170
+ border-top: 1px solid @very_light
171
+ } #content h1 {
172
+ padding-top: @buffer * 3
173
+ } #content #item_name { /* why does this need to be fully qualified? */
174
+ padding-top: 0
175
+ border: none
176
+ }
177
+
178
+ /* footer */
179
+
180
+ #footer {
181
+ text-align: center
182
+ background-color: @background
183
+ padding: @buffer * 3
184
+ border-top: 1px solid @very_light
185
+ color: @light
186
+ } #footer a {
187
+ font-weight: normal
188
+ color: @light
189
+ }
190
+
191
+ /* for that dumb redirect index page I can't avoid */
192
+
193
+ #redirect {
194
+ text-align: center
195
+ } #redirect a {
196
+ color: @dark
197
+ }
198
+
199
+ /* tables */
200
+
201
+ table {
202
+ width: @width - @left_width - 95
203
+ margin-right: 0
204
+ border-collapse: collapse
205
+ border: 1px solid @very_light
206
+ } td, th {
207
+ background-color: @background
208
+ text-align: left
209
+ padding: @buffer
210
+ line-height: 14px
211
+ font-size: @font_size
212
+ } td.normal {
213
+ font-family: @monospace = "Courier, Courier New, monospace"
214
+ font-size: @monospace_size = 12
215
+ } td.highlight {
216
+ color: @medium
217
+ }
218
+
219
+ /* method_block details */
220
+
221
+ div.method_block {
222
+ border-bottom: 1px solid @very_light
223
+ margin-left: 20px
224
+ margin-bottom: -17px
225
+ margin-top: 17px
226
+ } div.method_block h3 {
227
+ color: @dark
228
+ margin-left: 0
229
+ padding: 0
230
+ } #content div.method_block h1, #content #description h1 {
231
+ margin-left: @buffer
232
+ color: @light
233
+ } div.method_block a.small { /* where is this used? */
234
+ font-size: 3px
235
+ line-height: 3px
236
+ }
237
+
238
+ /* index includes on the navigation bar */
239
+
240
+ div.index a {
241
+ font-size: @font_size
242
+ } #method {
243
+ display: none
244
+ } #file, #class {
245
+ display: block
246
+ } div.list_header {
247
+ float: left
248
+ } div.list_header_link {
249
+ float: right
250
+ padding-top: 3px
251
+ } div.list_header_link a {
252
+ font-weight: normal
253
+ } div.navigation h3, .list_header_link {
254
+ margin: 0
255
+ margin-top: @buffer
256
+ margin-bottom: @buffer
257
+ padding: 0
258
+ }
259
+
260
+ .index label {
261
+ font-size: @font_size
262
+ } .index form input {
263
+ width: @left_width - @buffer * 14
264
+ } .index form {
265
+ margin-bottom: @buffer
266
+ }
267
+
268
+ ol, ul {
269
+ margin-left: @buffer
270
+ }
271
+
272
+ p.source_link a {
273
+ text-align: right
274
+ font-weight: normal
275
+ } div.source {
276
+ display: none
277
+ } pre, tt {
278
+ color: @dark
279
+ font-weight: normal
280
+ font-family: @monospace
281
+ font-size: @monospace_size
282
+ } pre {
283
+ line-height: 14px
284
+ margin-left: @buffer * 2
285
+ overflow: auto
286
+ /* next 4 lines because IE sucks */
287
+ _position: relative
288
+ _width: @width - @left_width - (@buffer * 15 + 3)
289
+ _overflow-x:scroll
290
+ _overflow-y:visible
291
+ } b tt, tt b {
292
+ font-weight: bold
293
+ } div.source g {
294
+ margin-left: 0
295
+ } p.source_link {
296
+ text-align: center
297
+ }
298
+
299
+ /* source code highlighting */
300
+
301
+ .source pre {
302
+ color: black
303
+ }
304
+ pre .ruby-value, pre .ruby-symbol {
305
+ color: @blue = "#1104bb"
306
+ } pre .ruby-value.str, pre .ruby-node {
307
+ color: @dark
308
+ } pre .ruby-ivar, pre .ruby-cvar {
309
+ } pre .ruby-comment {
310
+ color: @green = "#009500"
311
+ } pre .ruby-constant {
312
+ color: @orange = "#cd8802"
313
+ } pre .ruby-keyword {
314
+ color: @purple = "#8d04aa"
315
+ }