wortsammler 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,408 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
+ <head>
7
+ <title>RSpec results</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
+ <meta http-equiv="Expires" content="-1" />
10
+ <meta http-equiv="Pragma" content="no-cache" />
11
+ <style type="text/css">
12
+ body {
13
+ margin: 0;
14
+ padding: 0;
15
+ background: #fff;
16
+ font-size: 80%;
17
+ }
18
+ </style>
19
+ <script type="text/javascript">
20
+ // <![CDATA[
21
+
22
+ function addClass(element_id, classname) {
23
+ document.getElementById(element_id).className += (" " + classname);
24
+ }
25
+
26
+ function removeClass(element_id, classname) {
27
+ var elem = document.getElementById(element_id);
28
+ var classlist = elem.className.replace(classname,'');
29
+ elem.className = classlist;
30
+ }
31
+
32
+ function moveProgressBar(percentDone) {
33
+ document.getElementById("rspec-header").style.width = percentDone +"%";
34
+ }
35
+
36
+ function makeRed(element_id) {
37
+ removeClass(element_id, 'passed');
38
+ removeClass(element_id, 'not_implemented');
39
+ addClass(element_id,'failed');
40
+ }
41
+
42
+ function makeYellow(element_id) {
43
+ var elem = document.getElementById(element_id);
44
+ if (elem.className.indexOf("failed") == -1) { // class doesn't includes failed
45
+ if (elem.className.indexOf("not_implemented") == -1) { // class doesn't include not_implemented
46
+ removeClass(element_id, 'passed');
47
+ addClass(element_id,'not_implemented');
48
+ }
49
+ }
50
+ }
51
+
52
+ function apply_filters() {
53
+ var passed_filter = document.getElementById('passed_checkbox').checked;
54
+ var failed_filter = document.getElementById('failed_checkbox').checked;
55
+ var pending_filter = document.getElementById('pending_checkbox').checked;
56
+
57
+ assign_display_style("example passed", passed_filter);
58
+ assign_display_style("example failed", failed_filter);
59
+ assign_display_style("example not_implemented", pending_filter);
60
+
61
+ assign_display_style_for_group("example_group passed", passed_filter);
62
+ assign_display_style_for_group("example_group not_implemented", pending_filter, pending_filter || passed_filter);
63
+ assign_display_style_for_group("example_group failed", failed_filter, failed_filter || pending_filter || passed_filter);
64
+ }
65
+
66
+ function get_display_style(display_flag) {
67
+ var style_mode = 'none';
68
+ if (display_flag == true) {
69
+ style_mode = 'block';
70
+ }
71
+ return style_mode;
72
+ }
73
+
74
+ function assign_display_style(classname, display_flag) {
75
+ var style_mode = get_display_style(display_flag);
76
+ var elems = document.getElementsByClassName(classname)
77
+ for (var i=0; i<elems.length;i++) {
78
+ elems[i].style.display = style_mode;
79
+ }
80
+ }
81
+
82
+ function assign_display_style_for_group(classname, display_flag, subgroup_flag) {
83
+ var display_style_mode = get_display_style(display_flag);
84
+ var subgroup_style_mode = get_display_style(subgroup_flag);
85
+ var elems = document.getElementsByClassName(classname)
86
+ for (var i=0; i<elems.length;i++) {
87
+ var style_mode = display_style_mode;
88
+ if ((display_flag != subgroup_flag) && (elems[i].getElementsByTagName('dt')[0].innerHTML.indexOf(", ") != -1)) {
89
+ elems[i].style.display = subgroup_style_mode;
90
+ } else {
91
+ elems[i].style.display = display_style_mode;
92
+ }
93
+ }
94
+ }
95
+
96
+ // ]]>
97
+ </script>
98
+ <style type="text/css">
99
+ #rspec-header {
100
+ background: #65C400; color: #fff; height: 4em;
101
+ }
102
+
103
+ .rspec-report h1 {
104
+ margin: 0px 10px 0px 10px;
105
+ padding: 10px;
106
+ font-family: "Lucida Grande", Helvetica, sans-serif;
107
+ font-size: 1.8em;
108
+ position: absolute;
109
+ }
110
+
111
+ #label {
112
+ float:left;
113
+ }
114
+
115
+ #display-filters {
116
+ float:left;
117
+ padding: 28px 0 0 40%;
118
+ font-family: "Lucida Grande", Helvetica, sans-serif;
119
+ }
120
+
121
+ #summary {
122
+ float:right;
123
+ padding: 5px 10px;
124
+ font-family: "Lucida Grande", Helvetica, sans-serif;
125
+ text-align: right;
126
+ }
127
+
128
+ #summary p {
129
+ margin: 0 0 0 2px;
130
+ }
131
+
132
+ #summary #totals {
133
+ font-size: 1.2em;
134
+ }
135
+
136
+ .example_group {
137
+ margin: 0 10px 5px;
138
+ background: #fff;
139
+ }
140
+
141
+ dl {
142
+ margin: 0; padding: 0 0 5px;
143
+ font: normal 11px "Lucida Grande", Helvetica, sans-serif;
144
+ }
145
+
146
+ dt {
147
+ padding: 3px;
148
+ background: #65C400;
149
+ color: #fff;
150
+ font-weight: bold;
151
+ }
152
+
153
+ dd {
154
+ margin: 5px 0 5px 5px;
155
+ padding: 3px 3px 3px 18px;
156
+ }
157
+
158
+ dd .duration {
159
+ padding-left: 5px;
160
+ text-align: right;
161
+ right: 0px;
162
+ float:right;
163
+ }
164
+
165
+ dd.example.passed {
166
+ border-left: 5px solid #65C400;
167
+ border-bottom: 1px solid #65C400;
168
+ background: #DBFFB4; color: #3D7700;
169
+ }
170
+
171
+ dd.example.not_implemented {
172
+ border-left: 5px solid #FAF834;
173
+ border-bottom: 1px solid #FAF834;
174
+ background: #FCFB98; color: #131313;
175
+ }
176
+
177
+ dd.example.pending_fixed {
178
+ border-left: 5px solid #0000C2;
179
+ border-bottom: 1px solid #0000C2;
180
+ color: #0000C2; background: #D3FBFF;
181
+ }
182
+
183
+ dd.example.failed {
184
+ border-left: 5px solid #C20000;
185
+ border-bottom: 1px solid #C20000;
186
+ color: #C20000; background: #FFFBD3;
187
+ }
188
+
189
+
190
+ dt.not_implemented {
191
+ color: #000000; background: #FAF834;
192
+ }
193
+
194
+ dt.pending_fixed {
195
+ color: #FFFFFF; background: #C40D0D;
196
+ }
197
+
198
+ dt.failed {
199
+ color: #FFFFFF; background: #C40D0D;
200
+ }
201
+
202
+
203
+ #rspec-header.not_implemented {
204
+ color: #000000; background: #FAF834;
205
+ }
206
+
207
+ #rspec-header.pending_fixed {
208
+ color: #FFFFFF; background: #C40D0D;
209
+ }
210
+
211
+ #rspec-header.failed {
212
+ color: #FFFFFF; background: #C40D0D;
213
+ }
214
+
215
+
216
+ .backtrace {
217
+ color: #000;
218
+ font-size: 12px;
219
+ }
220
+
221
+ a {
222
+ color: #BE5C00;
223
+ }
224
+
225
+ /* Ruby code, style similar to vibrant ink */
226
+ .ruby {
227
+ font-size: 12px;
228
+ font-family: monospace;
229
+ color: white;
230
+ background-color: black;
231
+ padding: 0.1em 0 0.2em 0;
232
+ }
233
+
234
+ .ruby .keyword { color: #FF6600; }
235
+ .ruby .constant { color: #339999; }
236
+ .ruby .attribute { color: white; }
237
+ .ruby .global { color: white; }
238
+ .ruby .module { color: white; }
239
+ .ruby .class { color: white; }
240
+ .ruby .string { color: #66FF00; }
241
+ .ruby .ident { color: white; }
242
+ .ruby .method { color: #FFCC00; }
243
+ .ruby .number { color: white; }
244
+ .ruby .char { color: white; }
245
+ .ruby .comment { color: #9933CC; }
246
+ .ruby .symbol { color: white; }
247
+ .ruby .regex { color: #44B4CC; }
248
+ .ruby .punct { color: white; }
249
+ .ruby .escape { color: white; }
250
+ .ruby .interp { color: white; }
251
+ .ruby .expr { color: white; }
252
+
253
+ .ruby .offending { background-color: gray; }
254
+ .ruby .linenum {
255
+ width: 75px;
256
+ padding: 0.1em 1em 0.2em 0;
257
+ color: #000000;
258
+ background-color: #FFFBD3;
259
+ }
260
+
261
+ </style>
262
+ </head>
263
+ <body>
264
+ <div class="rspec-report">
265
+
266
+ <div id="rspec-header">
267
+ <div id="label">
268
+ <h1>RSpec Code Examples</h1>
269
+ </div>
270
+
271
+ <div id="display-filters">
272
+ <input id="passed_checkbox" name="passed_checkbox" type="checkbox" checked onchange="apply_filters()" value="1"> <label for="passed_checkbox">Passed</label>
273
+ <input id="failed_checkbox" name="failed_checkbox" type="checkbox" checked onchange="apply_filters()" value="2"> <label for="failed_checkbox">Failed</label>
274
+ <input id="pending_checkbox" name="pending_checkbox" type="checkbox" checked onchange="apply_filters()" value="3"> <label for="pending_checkbox">Pending</label>
275
+ </div>
276
+
277
+ <div id="summary">
278
+ <p id="totals">&nbsp;</p>
279
+ <p id="duration">&nbsp;</p>
280
+ </div>
281
+ </div>
282
+
283
+
284
+ <div class="results">
285
+ <div id="div_group_1" class="example_group passed">
286
+ <dl style="margin-left: 0px;">
287
+ <dt id="example_group_1" class="passed">TraceableSet</dt>
288
+ <script type="text/javascript">moveProgressBar('2.2');</script>
289
+ <dd class="example passed"><span class="passed_spec_name">should return a blank instance</span><span class='duration'>0.00019s</span></dd>
290
+ <script type="text/javascript">moveProgressBar('4.5');</script>
291
+ <dd class="example passed"><span class="passed_spec_name">allows to add Traceables</span><span class='duration'>0.00017s</span></dd>
292
+ <script type="text/javascript">moveProgressBar('6.8');</script>
293
+ <dd class="example passed"><span class="passed_spec_name">delivers the first of the duplicates</span><span class='duration'>0.00019s</span></dd>
294
+ <script type="text/javascript">moveProgressBar('9.0');</script>
295
+ <dd class="example passed"><span class="passed_spec_name">advertises duplicates</span><span class='duration'>0.00035s</span></dd>
296
+ <script type="text/javascript">moveProgressBar('11.3');</script>
297
+ <dd class="example passed"><span class="passed_spec_name">adertises undefined traceables</span><span class='duration'>0.00019s</span></dd>
298
+ <script type="text/javascript">moveProgressBar('13.6');</script>
299
+ <dd class="example passed"><span class="passed_spec_name">advertises all traceables</span><span class='duration'>0.00015s</span></dd>
300
+ <script type="text/javascript">moveProgressBar('15.9');</script>
301
+ <dd class="example passed"><span class="passed_spec_name">advertises a hash of supporting traces</span><span class='duration'>0.00013s</span></dd>
302
+ <script type="text/javascript">moveProgressBar('18.1');</script>
303
+ <dd class="example passed"><span class="passed_spec_name">advertises traceable ids of a particular category</span><span class='duration'>0.00018s</span></dd>
304
+ <script type="text/javascript">moveProgressBar('20.4');</script>
305
+ <dd class="example passed"><span class="passed_spec_name">advertises ttraceables of a particular category</span><span class='duration'>0.00015s</span></dd>
306
+ <script type="text/javascript">moveProgressBar('22.7');</script>
307
+ <dd class="example passed"><span class="passed_spec_name">merges traceables</span><span class='duration'>0.00031s</span></dd>
308
+ <script type="text/javascript">moveProgressBar('25.0');</script>
309
+ <dd class="example passed"><span class="passed_spec_name">exposes deleted Traceables</span><span class='duration'>0.00019s</span></dd>
310
+ <script type="text/javascript">moveProgressBar('27.2');</script>
311
+ <dd class="example passed"><span class="passed_spec_name">exposes added Traceables</span><span class='duration'>0.00019s</span></dd>
312
+ <script type="text/javascript">moveProgressBar('29.5');</script>
313
+ <dd class="example passed"><span class="passed_spec_name">exposes deleted Traceables of category</span><span class='duration'>0.00018s</span></dd>
314
+ <script type="text/javascript">moveProgressBar('31.8');</script>
315
+ <dd class="example passed"><span class="passed_spec_name">exposes added Traceables of category</span><span class='duration'>0.00019s</span></dd>
316
+ <script type="text/javascript">moveProgressBar('34.0');</script>
317
+ <dd class="example passed"><span class="passed_spec_name">exploses changed traceids as array of [Traceid, levensthein, diff_as_html]</span><span class='duration'>0.00839s</span></dd>
318
+ <script type="text/javascript">moveProgressBar('36.3');</script>
319
+ <dd class="example passed"><span class="passed_spec_name">exposes unchanged Traceables</span><span class='duration'>0.00472s</span></dd>
320
+ <script type="text/javascript">moveProgressBar('38.6');</script>
321
+ <dd class="example passed"><span class="passed_spec_name">can be marshalled to a file</span><span class='duration'>0.00199s</span></dd>
322
+ <script type="text/javascript">moveProgressBar('40.9');</script>
323
+ <dd class="example passed"><span class="passed_spec_name">can be dumped to a graphml file</span><span class='duration'>0.00329s</span></dd>
324
+ </dl>
325
+ </div>
326
+ <div id="div_group_2" class="example_group passed">
327
+ <dl style="margin-left: 0px;">
328
+ <dt id="example_group_2" class="passed">Traceable</dt>
329
+ <script type="text/javascript">moveProgressBar('43.1');</script>
330
+ <dd class="example passed"><span class="passed_spec_name">should == &quot;id&quot;</span><span class='duration'>0.00017s</span></dd>
331
+ <script type="text/javascript">moveProgressBar('45.4');</script>
332
+ <dd class="example passed"><span class="passed_spec_name">should == &quot;origin&quot;</span><span class='duration'>0.00015s</span></dd>
333
+ <script type="text/javascript">moveProgressBar('47.7');</script>
334
+ <dd class="example passed"><span class="passed_spec_name">should == &quot;alternative_id&quot;</span><span class='duration'>0.00016s</span></dd>
335
+ <script type="text/javascript">moveProgressBar('50.0');</script>
336
+ <dd class="example passed"><span class="passed_spec_name">should == &quot;header_plain&quot;</span><span class='duration'>0.00015s</span></dd>
337
+ <script type="text/javascript">moveProgressBar('52.2');</script>
338
+ <dd class="example passed"><span class="passed_spec_name">should == &quot;\\textt{header_origin}&quot;</span><span class='duration'>0.00015s</span></dd>
339
+ <script type="text/javascript">moveProgressBar('54.5');</script>
340
+ <dd class="example passed"><span class="passed_spec_name">should == &quot;body_plain&quot;</span><span class='duration'>0.00015s</span></dd>
341
+ <script type="text/javascript">moveProgressBar('56.8');</script>
342
+ <dd class="example passed"><span class="passed_spec_name">should == [&quot;contributes_to&quot;]</span><span class='duration'>0.00022s</span></dd>
343
+ <script type="text/javascript">moveProgressBar('59.0');</script>
344
+ <dd class="example passed"><span class="passed_spec_name">should == &quot;trace_orig&quot;</span><span class='duration'>0.00016s</span></dd>
345
+ <script type="text/javascript">moveProgressBar('61.3');</script>
346
+ <dd class="example passed"><span class="passed_spec_name">should == &quot;origin&quot;</span><span class='duration'>0.00016s</span></dd>
347
+ <script type="text/javascript">moveProgressBar('63.6');</script>
348
+ <dd class="example passed"><span class="passed_spec_name">should == &quot;category&quot;</span><span class='duration'>0.00016s</span></dd>
349
+ <script type="text/javascript">moveProgressBar('65.9');</script>
350
+ <dd class="example passed"><span class="passed_spec_name">should == &quot;info&quot;</span><span class='duration'>0.00015s</span></dd>
351
+ </dl>
352
+ </div>
353
+ <div id="div_group_3" class="example_group passed">
354
+ <dl style="margin-left: 0px;">
355
+ <dt id="example_group_3" class="passed">Wortsammler generic issues</dt>
356
+ <script type="text/javascript">moveProgressBar('68.1');</script>
357
+ <dd class="example passed"><span class="passed_spec_name">provides a help</span><span class='duration'>0.38110s</span></dd>
358
+ <script type="text/javascript">moveProgressBar('70.4');</script>
359
+ <dd class="example passed"><span class="passed_spec_name">can create a new project folder</span><span class='duration'>0.38274s</span></dd>
360
+ <script type="text/javascript">moveProgressBar('72.7');</script>
361
+ <dd class="example passed"><span class="passed_spec_name">does not initialize into an existing project folder</span><span class='duration'>0.39078s</span></dd>
362
+ </dl>
363
+ </div>
364
+ <div id="div_group_4" class="example_group passed">
365
+ <dl style="margin-left: 0px;">
366
+ <dt id="example_group_4" class="passed">Wortsammler options validator</dt>
367
+ <script type="text/javascript">moveProgressBar('75.0');</script>
368
+ <dd class="example passed"><span class="passed_spec_name">rejects no processing</span><span class='duration'>0.37890s</span></dd>
369
+ <script type="text/javascript">moveProgressBar('77.2');</script>
370
+ <dd class="example passed"><span class="passed_spec_name">rejeccts inputs without outputs</span><span class='duration'>0.38187s</span></dd>
371
+ </dl>
372
+ </div>
373
+ <div id="div_group_5" class="example_group passed">
374
+ <dl style="margin-left: 0px;">
375
+ <dt id="example_group_5" class="passed">Wortsammler beautifier features</dt>
376
+ <script type="text/javascript">moveProgressBar('79.5');</script>
377
+ <dd class="example passed"><span class="passed_spec_name">beautifies all markdown files in a folder</span><span class='duration'>0.54484s</span></dd>
378
+ <script type="text/javascript">moveProgressBar('81.8');</script>
379
+ <dd class="example passed"><span class="passed_spec_name">beautifies a single file</span><span class='duration'>0.41165s</span></dd>
380
+ <script type="text/javascript">moveProgressBar('84.0');</script>
381
+ <dd class="example passed"><span class="passed_spec_name">beautifies input files in a manifest</span><span class='duration'>0.46322s</span></dd>
382
+ <script type="text/javascript">moveProgressBar('86.3');</script>
383
+ <dd class="example passed"><span class="passed_spec_name">claims missing input</span><span class='duration'>0.38306s</span></dd>
384
+ <script type="text/javascript">moveProgressBar('88.6');</script>
385
+ <dd class="example passed"><span class="passed_spec_name">claims undefined document path</span><span class='duration'>0.38263s</span></dd>
386
+ </dl>
387
+ </div>
388
+ <div id="div_group_6" class="example_group passed">
389
+ <dl style="margin-left: 0px;">
390
+ <dt id="example_group_6" class="passed">Wortsammler conversion</dt>
391
+ <script type="text/javascript">moveProgressBar('90.9');</script>
392
+ <dd class="example passed"><span class="passed_spec_name">converts a single file to output format</span><span class='duration'>4.11586s</span></dd>
393
+ <script type="text/javascript">moveProgressBar('93.1');</script>
394
+ <dd class="example passed"><span class="passed_spec_name">converts all files within a folder output format</span><span class='duration'>12.61365s</span></dd>
395
+ <script type="text/javascript">moveProgressBar('95.4');</script>
396
+ <dd class="example passed"><span class="passed_spec_name">processes a manifest</span><span class='duration'>5.25318s</span></dd>
397
+ <script type="text/javascript">moveProgressBar('97.7');</script>
398
+ <dd class="example passed"><span class="passed_spec_name">investigates the existence of a manifest</span><span class='duration'>0.38824s</span></dd>
399
+ <script type="text/javascript">moveProgressBar('100.0');</script>
400
+ <dd class="example passed"><span class="passed_spec_name">extracts the traceables according to a manifest</span><span class='duration'>0.51676s</span></dd>
401
+ </dl>
402
+ </div>
403
+ <script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>27.02668 seconds</strong>";</script>
404
+ <script type="text/javascript">document.getElementById('totals').innerHTML = "44 examples, 0 failures";</script>
405
+ </div>
406
+ </div>
407
+ </body>
408
+ </html>
@@ -0,0 +1,59 @@
1
+
2
+ TraceableSet
3
+ should return a blank instance
4
+ allows to add Traceables
5
+ delivers the first of the duplicates
6
+ advertises duplicates
7
+ adertises undefined traceables
8
+ advertises all traceables
9
+ advertises a hash of supporting traces
10
+ advertises traceable ids of a particular category
11
+ advertises ttraceables of a particular category
12
+ merges traceables
13
+ exposes deleted Traceables
14
+ exposes added Traceables
15
+ exposes deleted Traceables of category
16
+ exposes added Traceables of category
17
+ exploses changed traceids as array of [Traceid, levensthein, diff_as_html]
18
+ exposes unchanged Traceables
19
+ can be marshalled to a file
20
+ can be dumped to a graphml file
21
+
22
+ Traceable
23
+ should == "id"
24
+ should == "origin"
25
+ should == "alternative_id"
26
+ should == "header_plain"
27
+ should == "\\textt{header_origin}"
28
+ should == "body_plain"
29
+ should == ["contributes_to"]
30
+ should == "trace_orig"
31
+ should == "origin"
32
+ should == "category"
33
+ should == "info"
34
+
35
+ Wortsammler generic issues
36
+ provides a help
37
+ can create a new project folder
38
+ does not initialize into an existing project folder
39
+
40
+ Wortsammler options validator
41
+ rejects no processing
42
+ rejeccts inputs without outputs
43
+
44
+ Wortsammler beautifier features
45
+ beautifies all markdown files in a folder
46
+ beautifies a single file
47
+ beautifies input files in a manifest
48
+ claims missing input
49
+ claims undefined document path
50
+
51
+ Wortsammler conversion
52
+ converts a single file to output format
53
+ converts all files within a folder output format
54
+ processes a manifest
55
+ investigates the existence of a manifest
56
+ extracts the traceables according to a manifest
57
+
58
+ Finished in 27.03 seconds
59
+ 44 examples, 0 failures
@@ -0,0 +1,53 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'wortsammler/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "wortsammler"
8
+ spec.version = Wortsammler::VERSION
9
+ spec.authors = ["Bernhard Weichel"]
10
+ spec.email = ["github.com@nospam.weichel21.de"]
11
+ spec.description = <<END_DOC
12
+ wortsammler is an environment to manage documentation.
13
+ Basically it comprises of
14
+
15
+ * a directory structure to organize the document sources
16
+ * a manifest file to control the publication process
17
+ * a tool to produce the doucments
18
+
19
+ Particular features of wortsammler are
20
+ * various output formats
21
+ * support of requirement management
22
+ * generate documents for different audiences based on
23
+ single sources
24
+ * text snippets (markdown and xlsx)
25
+
26
+ wortsammler is based on ruby, pandoc, latex
27
+ END_DOC
28
+
29
+ spec.required_ruby_version = '>= 1.9.3'
30
+ spec.add_runtime_dependency 'logger'
31
+ spec.add_runtime_dependency 'nokogiri'
32
+ spec.add_runtime_dependency "rubyXL"
33
+ spec.add_runtime_dependency 'diffy', "~> 2.1.3"
34
+ spec.add_runtime_dependency 'zip'
35
+ spec.add_runtime_dependency 'treetop'
36
+
37
+ spec.summary = %q{an environment to manage documentation}
38
+ spec.homepage = ""
39
+ spec.license = "MIT"
40
+
41
+ spec.files = `git ls-files`.split($/)
42
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
43
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
44
+ spec.require_paths = ["lib"]
45
+
46
+ spec.add_development_dependency "bundler", "~> 1.3"
47
+ spec.add_development_dependency "rake"
48
+ spec.add_development_dependency "rspec"
49
+ spec.add_development_dependency 'debugger'
50
+ spec.add_development_dependency 'yard'
51
+ spec.add_development_dependency 'redcarpet'
52
+
53
+ end