walrus 0.1 → 0.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 (210) hide show
  1. data/bin/walrus +29 -14
  2. data/ext/extconf.rb +16 -0
  3. data/ext/{jindex/jindex.c → jindex.c} +27 -14
  4. data/lib/walrus/additions/string.rb +11 -5
  5. data/lib/walrus/compile_error.rb +11 -5
  6. data/lib/walrus/compiler.rb +12 -6
  7. data/lib/walrus/contrib/spec/walruscloth_spec.rb +11 -5
  8. data/lib/walrus/contrib/walruscloth.rb +11 -5
  9. data/lib/walrus/diff.rb +11 -5
  10. data/lib/walrus/document.rb +11 -5
  11. data/lib/walrus/grammar/additions/proc.rb +11 -5
  12. data/lib/walrus/grammar/additions/regexp.rb +11 -5
  13. data/lib/walrus/grammar/additions/string.rb +11 -5
  14. data/lib/walrus/grammar/additions/symbol.rb +12 -5
  15. data/lib/walrus/grammar/and_predicate.rb +11 -5
  16. data/lib/walrus/grammar/array_result.rb +11 -5
  17. data/lib/walrus/grammar/continuation_wrapper_exception.rb +11 -5
  18. data/lib/walrus/grammar/left_recursion_exception.rb +11 -5
  19. data/lib/walrus/grammar/location_tracking.rb +19 -9
  20. data/lib/walrus/grammar/match_data_wrapper.rb +11 -5
  21. data/lib/walrus/grammar/memoizing.rb +11 -5
  22. data/lib/walrus/grammar/memoizing_cache.rb +18 -9
  23. data/lib/walrus/grammar/node.rb +11 -5
  24. data/lib/walrus/grammar/not_predicate.rb +11 -5
  25. data/lib/walrus/grammar/parse_error.rb +11 -5
  26. data/lib/walrus/grammar/parser_state.rb +11 -5
  27. data/lib/walrus/grammar/parslet.rb +11 -5
  28. data/lib/walrus/grammar/parslet_choice.rb +15 -7
  29. data/lib/walrus/grammar/parslet_combination.rb +11 -5
  30. data/lib/walrus/grammar/parslet_combining.rb +11 -5
  31. data/lib/walrus/grammar/parslet_merge.rb +11 -5
  32. data/lib/walrus/grammar/parslet_omission.rb +11 -5
  33. data/lib/walrus/grammar/parslet_repetition.rb +17 -8
  34. data/lib/walrus/grammar/parslet_repetition_default.rb +11 -5
  35. data/lib/walrus/grammar/parslet_sequence.rb +20 -8
  36. data/lib/walrus/grammar/predicate.rb +11 -5
  37. data/lib/walrus/grammar/proc_parslet.rb +11 -5
  38. data/lib/walrus/grammar/regexp_parslet.rb +11 -5
  39. data/lib/walrus/grammar/skipped_substring_exception.rb +11 -5
  40. data/lib/walrus/grammar/string_enumerator.rb +14 -6
  41. data/lib/walrus/grammar/string_parslet.rb +11 -5
  42. data/lib/walrus/grammar/string_result.rb +11 -5
  43. data/lib/walrus/grammar/symbol_parslet.rb +11 -5
  44. data/lib/walrus/grammar.rb +11 -5
  45. data/lib/walrus/no_parameter_marker.rb +11 -5
  46. data/lib/walrus/parser.rb +12 -6
  47. data/lib/walrus/runner.rb +60 -67
  48. data/lib/walrus/template.rb +15 -7
  49. data/lib/walrus/version.rb +3 -0
  50. data/lib/walrus/walrus_grammar/assignment_expression.rb +11 -5
  51. data/lib/walrus/walrus_grammar/block_directive.rb +11 -5
  52. data/lib/walrus/walrus_grammar/comment.rb +11 -5
  53. data/lib/walrus/walrus_grammar/def_directive.rb +16 -8
  54. data/lib/walrus/walrus_grammar/echo_directive.rb +11 -5
  55. data/lib/walrus/walrus_grammar/escape_sequence.rb +11 -5
  56. data/lib/walrus/walrus_grammar/import_directive.rb +11 -5
  57. data/lib/walrus/walrus_grammar/include_directive.rb +11 -5
  58. data/lib/walrus/walrus_grammar/instance_variable.rb +11 -5
  59. data/lib/walrus/walrus_grammar/literal.rb +11 -5
  60. data/lib/walrus/walrus_grammar/message_expression.rb +11 -5
  61. data/lib/walrus/walrus_grammar/multiline_comment.rb +11 -5
  62. data/lib/walrus/walrus_grammar/placeholder.rb +11 -5
  63. data/lib/walrus/walrus_grammar/raw_directive.rb +11 -5
  64. data/lib/walrus/walrus_grammar/raw_text.rb +11 -5
  65. data/lib/walrus/walrus_grammar/ruby_directive.rb +11 -5
  66. data/lib/walrus/walrus_grammar/ruby_expression.rb +11 -5
  67. data/lib/walrus/walrus_grammar/set_directive.rb +11 -5
  68. data/lib/walrus/walrus_grammar/silent_directive.rb +11 -5
  69. data/lib/walrus/walrus_grammar/slurp_directive.rb +11 -5
  70. data/lib/walrus/walrus_grammar/super_directive.rb +11 -5
  71. data/lib/walrus.rb +30 -16
  72. metadata +91 -211
  73. data/ext/jindex/extconf.rb +0 -11
  74. data/ext/mkdtemp/extconf.rb +0 -11
  75. data/ext/mkdtemp/mkdtemp.c +0 -41
  76. data/lib/walrus/additions/module.rb +0 -36
  77. data/lib/walrus/additions/test/unit/error_collector.rb +0 -62
  78. data/spec/acceptance/acceptance_spec.rb +0 -97
  79. data/spec/acceptance/block/basic_block.expected +0 -1
  80. data/spec/acceptance/block/basic_block.tmpl +0 -3
  81. data/spec/acceptance/block/nested_blocks.expected +0 -5
  82. data/spec/acceptance/block/nested_blocks.tmpl +0 -11
  83. data/spec/acceptance/comments/comments_and_text.expected +0 -3
  84. data/spec/acceptance/comments/comments_and_text.tmpl +0 -6
  85. data/spec/acceptance/comments/single_comment.expected +0 -0
  86. data/spec/acceptance/comments/single_comment.tmpl +0 -1
  87. data/spec/acceptance/def/alternative_def_calling_conventions.expected +0 -3
  88. data/spec/acceptance/def/alternative_def_calling_conventions.tmpl +0 -18
  89. data/spec/acceptance/def/basic_def_block_no_output.expected +0 -0
  90. data/spec/acceptance/def/basic_def_block_no_output.tmpl +0 -17
  91. data/spec/acceptance/def/defs_can_be_called_multiple_times.expected +0 -3
  92. data/spec/acceptance/def/defs_can_be_called_multiple_times.tmpl +0 -6
  93. data/spec/acceptance/def/defs_can_be_dynamic.expected +0 -4
  94. data/spec/acceptance/def/defs_can_be_dynamic.tmpl +0 -12
  95. data/spec/acceptance/echo/echo_directive_with_numeric_literal.expected +0 -1
  96. data/spec/acceptance/echo/echo_directive_with_numeric_literal.tmpl +0 -1
  97. data/spec/acceptance/echo/echo_expression_list.expected +0 -1
  98. data/spec/acceptance/echo/echo_expression_list.tmpl +0 -1
  99. data/spec/acceptance/echo/echo_short_notation.expected +0 -1
  100. data/spec/acceptance/echo/echo_short_notation.tmpl +0 -1
  101. data/spec/acceptance/echo/echo_simple_expression.expected +0 -1
  102. data/spec/acceptance/echo/echo_simple_expression.tmpl +0 -1
  103. data/spec/acceptance/echo/echo_single_quoted_string_literal.expected +0 -1
  104. data/spec/acceptance/echo/echo_single_quoted_string_literal.tmpl +0 -1
  105. data/spec/acceptance/echo/multiple_echo_statements.expected +0 -1
  106. data/spec/acceptance/echo/multiple_echo_statements.tmpl +0 -2
  107. data/spec/acceptance/includes/basic_included_file.txt +0 -1
  108. data/spec/acceptance/includes/basic_includer.complex +0 -3
  109. data/spec/acceptance/includes/basic_includer.expected +0 -3
  110. data/spec/acceptance/includes/basic_includer.rb +0 -38
  111. data/spec/acceptance/includes/complicated_included_file.txt +0 -3
  112. data/spec/acceptance/includes/complicated_includer.complex +0 -3
  113. data/spec/acceptance/includes/complicated_includer.expected +0 -3
  114. data/spec/acceptance/includes/complicated_includer.rb +0 -41
  115. data/spec/acceptance/includes/nested_include_1.txt +0 -3
  116. data/spec/acceptance/includes/nested_include_2.txt +0 -1
  117. data/spec/acceptance/includes/nested_includer.complex +0 -3
  118. data/spec/acceptance/includes/nested_includer.expected +0 -4
  119. data/spec/acceptance/includes/nested_includer.rb +0 -41
  120. data/spec/acceptance/inheritance/basic_child.complex +0 -10
  121. data/spec/acceptance/inheritance/basic_child.expected +0 -9
  122. data/spec/acceptance/inheritance/basic_child.rb +0 -54
  123. data/spec/acceptance/inheritance/basic_parent.complex +0 -5
  124. data/spec/acceptance/inheritance/basic_parent.expected +0 -3
  125. data/spec/acceptance/inheritance/basic_parent.rb +0 -41
  126. data/spec/acceptance/inheritance/importing_child.complex +0 -8
  127. data/spec/acceptance/inheritance/importing_child.expected +0 -7
  128. data/spec/acceptance/inheritance/importing_child.rb +0 -46
  129. data/spec/acceptance/inheritance/subdirectory/importing_child_in_subdirectory.complex +0 -8
  130. data/spec/acceptance/inheritance/subdirectory/importing_child_in_subdirectory.expected +0 -7
  131. data/spec/acceptance/inheritance/subdirectory/importing_child_in_subdirectory.rb +0 -44
  132. data/spec/acceptance/multiline_comments/multiline_comment_with_directives_inside.expected +0 -0
  133. data/spec/acceptance/multiline_comments/multiline_comment_with_directives_inside.tmpl +0 -15
  134. data/spec/acceptance/multiline_comments/simple_multiline_comment.expected +0 -2
  135. data/spec/acceptance/multiline_comments/simple_multiline_comment.tmpl +0 -4
  136. data/spec/acceptance/raw/complicated_raw_example.expected +0 -57
  137. data/spec/acceptance/raw/complicated_raw_example.tmpl +0 -79
  138. data/spec/acceptance/raw-text/UTF_8.expected +0 -12
  139. data/spec/acceptance/raw-text/UTF_8.tmpl +0 -12
  140. data/spec/acceptance/raw-text/empty_file.expected +0 -0
  141. data/spec/acceptance/raw-text/empty_file.tmpl +0 -0
  142. data/spec/acceptance/raw-text/multi_line.expected +0 -4
  143. data/spec/acceptance/raw-text/multi_line.tmpl +0 -4
  144. data/spec/acceptance/raw-text/single_line.expected +0 -1
  145. data/spec/acceptance/raw-text/single_line.tmpl +0 -1
  146. data/spec/acceptance/raw-text/single_line_whitespace.expected +0 -1
  147. data/spec/acceptance/raw-text/single_line_whitespace.tmpl +0 -1
  148. data/spec/acceptance/ruby/ruby_directive_is_just_like_silent.expected +0 -1
  149. data/spec/acceptance/ruby/ruby_directive_is_just_like_silent.tmpl +0 -4
  150. data/spec/acceptance/ruby/ruby_directive_using_here_doc.expected +0 -1
  151. data/spec/acceptance/ruby/ruby_directive_using_here_doc.tmpl +0 -4
  152. data/spec/acceptance/ruby/ruby_directive_using_here_doc_alt_syntax.expected +0 -1
  153. data/spec/acceptance/ruby/ruby_directive_using_here_doc_alt_syntax.tmpl +0 -4
  154. data/spec/acceptance/ruby/ruby_directive_with_accumulate.expected +0 -1
  155. data/spec/acceptance/ruby/ruby_directive_with_accumulate.tmpl +0 -4
  156. data/spec/acceptance/ruby/ruby_directive_with_accumulate_and_block.expected +0 -1
  157. data/spec/acceptance/ruby/ruby_directive_with_accumulate_and_block.tmpl +0 -6
  158. data/spec/acceptance/set/unused_set.expected +0 -0
  159. data/spec/acceptance/set/unused_set.tmpl +0 -1
  160. data/spec/acceptance/set/used_set.expected +0 -1
  161. data/spec/acceptance/set/used_set.tmpl +0 -2
  162. data/spec/acceptance/silent/silent_and_echo_combined.expected +0 -1
  163. data/spec/acceptance/silent/silent_and_echo_combined.tmpl +0 -2
  164. data/spec/acceptance/silent/silent_short_notation.expected +0 -1
  165. data/spec/acceptance/silent/silent_short_notation.tmpl +0 -1
  166. data/spec/acceptance/silent/simple_silent_directive.expected +0 -0
  167. data/spec/acceptance/silent/simple_silent_directive.tmpl +0 -1
  168. data/spec/acceptance/slurp/basic_slurp_demo.expected +0 -1
  169. data/spec/acceptance/slurp/basic_slurp_demo.tmpl +0 -4
  170. data/spec/acceptance/super/super_with_no_effect.expected +0 -4
  171. data/spec/acceptance/super/super_with_no_effect.tmpl +0 -5
  172. data/spec/additions/module_spec.rb +0 -126
  173. data/spec/additions/string_spec.rb +0 -99
  174. data/spec/compiler_spec.rb +0 -55
  175. data/spec/grammar/additions/proc_spec.rb +0 -25
  176. data/spec/grammar/additions/regexp_spec.rb +0 -37
  177. data/spec/grammar/additions/string_spec.rb +0 -106
  178. data/spec/grammar/and_predicate_spec.rb +0 -29
  179. data/spec/grammar/continuation_wrapper_exception_spec.rb +0 -23
  180. data/spec/grammar/match_data_wrapper_spec.rb +0 -41
  181. data/spec/grammar/memoizing_cache_spec.rb +0 -112
  182. data/spec/grammar/node_spec.rb +0 -126
  183. data/spec/grammar/not_predicate_spec.rb +0 -29
  184. data/spec/grammar/parser_state_spec.rb +0 -172
  185. data/spec/grammar/parslet_choice_spec.rb +0 -49
  186. data/spec/grammar/parslet_combining_spec.rb +0 -287
  187. data/spec/grammar/parslet_merge_spec.rb +0 -33
  188. data/spec/grammar/parslet_omission_spec.rb +0 -58
  189. data/spec/grammar/parslet_repetition_spec.rb +0 -77
  190. data/spec/grammar/parslet_sequence_spec.rb +0 -49
  191. data/spec/grammar/parslet_spec.rb +0 -23
  192. data/spec/grammar/predicate_spec.rb +0 -53
  193. data/spec/grammar/proc_parslet_spec.rb +0 -52
  194. data/spec/grammar/regexp_parslet_spec.rb +0 -347
  195. data/spec/grammar/string_enumerator_spec.rb +0 -94
  196. data/spec/grammar/string_parslet_spec.rb +0 -143
  197. data/spec/grammar/symbol_parslet_spec.rb +0 -30
  198. data/spec/grammar_spec.rb +0 -545
  199. data/spec/parser_spec.rb +0 -1418
  200. data/spec/spec_helper.rb +0 -34
  201. data/spec/walrus_grammar/comment_spec.rb +0 -39
  202. data/spec/walrus_grammar/echo_directive_spec.rb +0 -63
  203. data/spec/walrus_grammar/escape_sequence_spec.rb +0 -85
  204. data/spec/walrus_grammar/literal_spec.rb +0 -41
  205. data/spec/walrus_grammar/message_expression_spec.rb +0 -37
  206. data/spec/walrus_grammar/multiline_comment_spec.rb +0 -58
  207. data/spec/walrus_grammar/placeholder_spec.rb +0 -48
  208. data/spec/walrus_grammar/raw_directive_spec.rb +0 -81
  209. data/spec/walrus_grammar/raw_text_spec.rb +0 -65
  210. data/spec/walrus_grammar/silent_directive_spec.rb +0 -34
metadata CHANGED
@@ -1,53 +1,78 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.2
3
- specification_version: 1
4
2
  name: walrus
5
3
  version: !ruby/object:Gem::Version
6
- version: "0.1"
7
- date: 2007-04-13 00:00:00 +02:00
8
- summary: Object-oriented templating system
9
- require_paths:
10
- - lib
11
- - ext
12
- email: win@wincent.com
13
- homepage: http://walrus.wincent.com/
14
- rubyforge_project:
15
- description: Walrus is an object-oriented templating system inspired by and similar to the Cheetah Python-powered template engine. It includes a Parser Expression Grammar (PEG) parser generator capable of generating an integrated lexer, "packrat" parser, and Abstract Syntax Tree (AST) builder.
16
- autorequire: walrus
17
- default_executable:
18
- bindir: bin
19
- has_rdoc: true
20
- required_ruby_version: !ruby/object:Gem::Version::Requirement
21
- requirements:
22
- - - ">"
23
- - !ruby/object:Gem::Version
24
- version: 0.0.0
25
- version:
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ version: "0.2"
26
9
  platform: ruby
27
- signing_key:
28
- cert_chain:
29
- post_install_message:
30
10
  authors:
31
11
  - Wincent Colaiuta
12
+ autorequire:
13
+ bindir: bin
14
+ cert_chain: []
15
+
16
+ date: 2010-08-14 00:00:00 +02:00
17
+ default_executable:
18
+ dependencies:
19
+ - !ruby/object:Gem::Dependency
20
+ name: wopen3
21
+ prerelease: false
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ segments:
27
+ - 0
28
+ - 1
29
+ version: "0.1"
30
+ type: :runtime
31
+ version_requirements: *id001
32
+ - !ruby/object:Gem::Dependency
33
+ name: mkdtemp
34
+ prerelease: false
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ segments:
40
+ - 1
41
+ - 0
42
+ version: "1.0"
43
+ type: :development
44
+ version_requirements: *id002
45
+ - !ruby/object:Gem::Dependency
46
+ name: rspec
47
+ prerelease: false
48
+ requirement: &id003 !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "="
51
+ - !ruby/object:Gem::Version
52
+ segments:
53
+ - 1
54
+ - 3
55
+ - 0
56
+ version: 1.3.0
57
+ type: :development
58
+ version_requirements: *id003
59
+ description: " Walrus is an object-oriented templating system inspired by and similar\n to the Cheetah Python-powered template engine. It includes a Parser\n Expression Grammar (PEG) parser generator capable of generating an\n integrated lexer, \"packrat\" parser, and Abstract Syntax Tree (AST)\n builder.\n"
60
+ email: win@wincent.com
61
+ executables:
62
+ - walrus
63
+ extensions:
64
+ - ext/extconf.rb
65
+ extra_rdoc_files: []
66
+
32
67
  files:
33
68
  - bin/walrus
34
- - lib/walrus
35
- - lib/walrus/additions
36
- - lib/walrus/additions/module.rb
37
69
  - lib/walrus/additions/string.rb
38
- - lib/walrus/additions/test
39
- - lib/walrus/additions/test/unit
40
- - lib/walrus/additions/test/unit/error_collector.rb
41
70
  - lib/walrus/compile_error.rb
42
71
  - lib/walrus/compiler.rb
43
- - lib/walrus/contrib
44
- - lib/walrus/contrib/spec
45
72
  - lib/walrus/contrib/spec/walruscloth_spec.rb
46
73
  - lib/walrus/contrib/walruscloth.rb
47
74
  - lib/walrus/diff.rb
48
75
  - lib/walrus/document.rb
49
- - lib/walrus/grammar
50
- - lib/walrus/grammar/additions
51
76
  - lib/walrus/grammar/additions/proc.rb
52
77
  - lib/walrus/grammar/additions/regexp.rb
53
78
  - lib/walrus/grammar/additions/string.rb
@@ -86,7 +111,7 @@ files:
86
111
  - lib/walrus/parser.rb
87
112
  - lib/walrus/runner.rb
88
113
  - lib/walrus/template.rb
89
- - lib/walrus/walrus_grammar
114
+ - lib/walrus/version.rb
90
115
  - lib/walrus/walrus_grammar/assignment_expression.rb
91
116
  - lib/walrus/walrus_grammar/block_directive.rb
92
117
  - lib/walrus/walrus_grammar/comment.rb
@@ -109,183 +134,38 @@ files:
109
134
  - lib/walrus/walrus_grammar/slurp_directive.rb
110
135
  - lib/walrus/walrus_grammar/super_directive.rb
111
136
  - lib/walrus.rb
112
- - spec/acceptance
113
- - spec/acceptance/acceptance_spec.rb
114
- - spec/acceptance/block
115
- - spec/acceptance/block/basic_block.expected
116
- - spec/acceptance/block/basic_block.tmpl
117
- - spec/acceptance/block/nested_blocks.expected
118
- - spec/acceptance/block/nested_blocks.tmpl
119
- - spec/acceptance/comments
120
- - spec/acceptance/comments/comments_and_text.expected
121
- - spec/acceptance/comments/comments_and_text.tmpl
122
- - spec/acceptance/comments/single_comment.expected
123
- - spec/acceptance/comments/single_comment.tmpl
124
- - spec/acceptance/def
125
- - spec/acceptance/def/alternative_def_calling_conventions.expected
126
- - spec/acceptance/def/alternative_def_calling_conventions.tmpl
127
- - spec/acceptance/def/basic_def_block_no_output.expected
128
- - spec/acceptance/def/basic_def_block_no_output.tmpl
129
- - spec/acceptance/def/defs_can_be_called_multiple_times.expected
130
- - spec/acceptance/def/defs_can_be_called_multiple_times.tmpl
131
- - spec/acceptance/def/defs_can_be_dynamic.expected
132
- - spec/acceptance/def/defs_can_be_dynamic.tmpl
133
- - spec/acceptance/echo
134
- - spec/acceptance/echo/echo_directive_with_numeric_literal.expected
135
- - spec/acceptance/echo/echo_directive_with_numeric_literal.tmpl
136
- - spec/acceptance/echo/echo_expression_list.expected
137
- - spec/acceptance/echo/echo_expression_list.tmpl
138
- - spec/acceptance/echo/echo_short_notation.expected
139
- - spec/acceptance/echo/echo_short_notation.tmpl
140
- - spec/acceptance/echo/echo_simple_expression.expected
141
- - spec/acceptance/echo/echo_simple_expression.tmpl
142
- - spec/acceptance/echo/echo_single_quoted_string_literal.expected
143
- - spec/acceptance/echo/echo_single_quoted_string_literal.tmpl
144
- - spec/acceptance/echo/multiple_echo_statements.expected
145
- - spec/acceptance/echo/multiple_echo_statements.tmpl
146
- - spec/acceptance/includes
147
- - spec/acceptance/includes/basic_included_file.txt
148
- - spec/acceptance/includes/basic_includer.complex
149
- - spec/acceptance/includes/basic_includer.expected
150
- - spec/acceptance/includes/basic_includer.rb
151
- - spec/acceptance/includes/complicated_included_file.txt
152
- - spec/acceptance/includes/complicated_includer.complex
153
- - spec/acceptance/includes/complicated_includer.expected
154
- - spec/acceptance/includes/complicated_includer.rb
155
- - spec/acceptance/includes/nested_include_1.txt
156
- - spec/acceptance/includes/nested_include_2.txt
157
- - spec/acceptance/includes/nested_includer.complex
158
- - spec/acceptance/includes/nested_includer.expected
159
- - spec/acceptance/includes/nested_includer.rb
160
- - spec/acceptance/inheritance
161
- - spec/acceptance/inheritance/basic_child.complex
162
- - spec/acceptance/inheritance/basic_child.expected
163
- - spec/acceptance/inheritance/basic_child.rb
164
- - spec/acceptance/inheritance/basic_parent.complex
165
- - spec/acceptance/inheritance/basic_parent.expected
166
- - spec/acceptance/inheritance/basic_parent.rb
167
- - spec/acceptance/inheritance/importing_child.complex
168
- - spec/acceptance/inheritance/importing_child.expected
169
- - spec/acceptance/inheritance/importing_child.rb
170
- - spec/acceptance/inheritance/subdirectory
171
- - spec/acceptance/inheritance/subdirectory/importing_child_in_subdirectory.complex
172
- - spec/acceptance/inheritance/subdirectory/importing_child_in_subdirectory.expected
173
- - spec/acceptance/inheritance/subdirectory/importing_child_in_subdirectory.rb
174
- - spec/acceptance/multiline_comments
175
- - spec/acceptance/multiline_comments/multiline_comment_with_directives_inside.expected
176
- - spec/acceptance/multiline_comments/multiline_comment_with_directives_inside.tmpl
177
- - spec/acceptance/multiline_comments/simple_multiline_comment.expected
178
- - spec/acceptance/multiline_comments/simple_multiline_comment.tmpl
179
- - spec/acceptance/raw
180
- - spec/acceptance/raw/complicated_raw_example.expected
181
- - spec/acceptance/raw/complicated_raw_example.tmpl
182
- - spec/acceptance/raw-text
183
- - spec/acceptance/raw-text/empty_file.expected
184
- - spec/acceptance/raw-text/empty_file.tmpl
185
- - spec/acceptance/raw-text/multi_line.expected
186
- - spec/acceptance/raw-text/multi_line.tmpl
187
- - spec/acceptance/raw-text/single_line.expected
188
- - spec/acceptance/raw-text/single_line.tmpl
189
- - spec/acceptance/raw-text/single_line_whitespace.expected
190
- - spec/acceptance/raw-text/single_line_whitespace.tmpl
191
- - spec/acceptance/raw-text/UTF_8.expected
192
- - spec/acceptance/raw-text/UTF_8.tmpl
193
- - spec/acceptance/ruby
194
- - spec/acceptance/ruby/ruby_directive_is_just_like_silent.expected
195
- - spec/acceptance/ruby/ruby_directive_is_just_like_silent.tmpl
196
- - spec/acceptance/ruby/ruby_directive_using_here_doc.expected
197
- - spec/acceptance/ruby/ruby_directive_using_here_doc.tmpl
198
- - spec/acceptance/ruby/ruby_directive_using_here_doc_alt_syntax.expected
199
- - spec/acceptance/ruby/ruby_directive_using_here_doc_alt_syntax.tmpl
200
- - spec/acceptance/ruby/ruby_directive_with_accumulate.expected
201
- - spec/acceptance/ruby/ruby_directive_with_accumulate.tmpl
202
- - spec/acceptance/ruby/ruby_directive_with_accumulate_and_block.expected
203
- - spec/acceptance/ruby/ruby_directive_with_accumulate_and_block.tmpl
204
- - spec/acceptance/set
205
- - spec/acceptance/set/unused_set.expected
206
- - spec/acceptance/set/unused_set.tmpl
207
- - spec/acceptance/set/used_set.expected
208
- - spec/acceptance/set/used_set.tmpl
209
- - spec/acceptance/silent
210
- - spec/acceptance/silent/silent_and_echo_combined.expected
211
- - spec/acceptance/silent/silent_and_echo_combined.tmpl
212
- - spec/acceptance/silent/silent_short_notation.expected
213
- - spec/acceptance/silent/silent_short_notation.tmpl
214
- - spec/acceptance/silent/simple_silent_directive.expected
215
- - spec/acceptance/silent/simple_silent_directive.tmpl
216
- - spec/acceptance/slurp
217
- - spec/acceptance/slurp/basic_slurp_demo.expected
218
- - spec/acceptance/slurp/basic_slurp_demo.tmpl
219
- - spec/acceptance/super
220
- - spec/acceptance/super/super_with_no_effect.expected
221
- - spec/acceptance/super/super_with_no_effect.tmpl
222
- - spec/additions
223
- - spec/additions/module_spec.rb
224
- - spec/additions/string_spec.rb
225
- - spec/compiler_spec.rb
226
- - spec/grammar
227
- - spec/grammar/additions
228
- - spec/grammar/additions/proc_spec.rb
229
- - spec/grammar/additions/regexp_spec.rb
230
- - spec/grammar/additions/string_spec.rb
231
- - spec/grammar/and_predicate_spec.rb
232
- - spec/grammar/continuation_wrapper_exception_spec.rb
233
- - spec/grammar/match_data_wrapper_spec.rb
234
- - spec/grammar/memoizing_cache_spec.rb
235
- - spec/grammar/node_spec.rb
236
- - spec/grammar/not_predicate_spec.rb
237
- - spec/grammar/parser_state_spec.rb
238
- - spec/grammar/parslet_choice_spec.rb
239
- - spec/grammar/parslet_combining_spec.rb
240
- - spec/grammar/parslet_merge_spec.rb
241
- - spec/grammar/parslet_omission_spec.rb
242
- - spec/grammar/parslet_repetition_spec.rb
243
- - spec/grammar/parslet_sequence_spec.rb
244
- - spec/grammar/parslet_spec.rb
245
- - spec/grammar/predicate_spec.rb
246
- - spec/grammar/proc_parslet_spec.rb
247
- - spec/grammar/regexp_parslet_spec.rb
248
- - spec/grammar/string_enumerator_spec.rb
249
- - spec/grammar/string_parslet_spec.rb
250
- - spec/grammar/symbol_parslet_spec.rb
251
- - spec/grammar_spec.rb
252
- - spec/parser_spec.rb
253
- - spec/spec_helper.rb
254
- - spec/walrus_grammar
255
- - spec/walrus_grammar/comment_spec.rb
256
- - spec/walrus_grammar/echo_directive_spec.rb
257
- - spec/walrus_grammar/escape_sequence_spec.rb
258
- - spec/walrus_grammar/literal_spec.rb
259
- - spec/walrus_grammar/message_expression_spec.rb
260
- - spec/walrus_grammar/multiline_comment_spec.rb
261
- - spec/walrus_grammar/placeholder_spec.rb
262
- - spec/walrus_grammar/raw_directive_spec.rb
263
- - spec/walrus_grammar/raw_text_spec.rb
264
- - spec/walrus_grammar/silent_directive_spec.rb
265
- - ext/jindex/extconf.rb
266
- - ext/mkdtemp/extconf.rb
267
- - ext/jindex/jindex.c
268
- - ext/mkdtemp/mkdtemp.c
269
- test_files: []
137
+ - ext/jindex.c
138
+ - ext/extconf.rb
139
+ has_rdoc: true
140
+ homepage: https://wincent.com/products/walrus
141
+ licenses: []
270
142
 
143
+ post_install_message:
271
144
  rdoc_options: []
272
145
 
273
- extra_rdoc_files: []
274
-
275
- executables:
276
- - walrus
277
- extensions:
278
- - ext/jindex/extconf.rb
279
- - ext/mkdtemp/extconf.rb
146
+ require_paths:
147
+ - lib
148
+ - ext
149
+ required_ruby_version: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ segments:
154
+ - 0
155
+ version: "0"
156
+ required_rubygems_version: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ segments:
161
+ - 0
162
+ version: "0"
280
163
  requirements: []
281
164
 
282
- dependencies:
283
- - !ruby/object:Gem::Dependency
284
- name: wopen3
285
- version_requirement:
286
- version_requirements: !ruby/object:Gem::Version::Requirement
287
- requirements:
288
- - - ">="
289
- - !ruby/object:Gem::Version
290
- version: "0.1"
291
- version:
165
+ rubyforge_project: walrus
166
+ rubygems_version: 1.3.6
167
+ signing_key:
168
+ specification_version: 3
169
+ summary: Object-oriented templating system
170
+ test_files: []
171
+
@@ -1,11 +0,0 @@
1
- # Copyright 2007 Wincent Colaiuta
2
- # This program is distributed in the hope that it will be useful, but WITHOUT
3
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
5
- # in the accompanying file, "LICENSE.txt", for more details.
6
- #
7
- # $Id$
8
-
9
- require 'mkmf'
10
- create_makefile('jindex')
11
-
@@ -1,11 +0,0 @@
1
- # Copyright 2007 Wincent Colaiuta
2
- # This program is distributed in the hope that it will be useful, but WITHOUT
3
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
5
- # in the accompanying file, "LICENSE.txt", for more details.
6
- #
7
- # $Id$
8
-
9
- require 'mkmf'
10
- create_makefile('mkdtemp')
11
-
@@ -1,41 +0,0 @@
1
- /*
2
- Copyright 2007 Wincent Colaiuta
3
- This program is distributed in the hope that it will be useful, but WITHOUT
4
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
5
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
6
- in the accompanying file, "LICENSE.txt", for more details.
7
-
8
- $Id$
9
- */
10
-
11
- #include <ruby.h>
12
- #include <errno.h>
13
-
14
- /*
15
-
16
- call-seq:
17
- Dir.mkdtemp([string]) -> String or nil
18
-
19
- This method securely creates temporary directories. It is a wrapper for the mkdtemp() function in the standard C library. It takes an optional String parameter as a template describing the desired form of the directory name; if no template is supplied then "/tmp/temp.XXXXXX" is used as a default.
20
-
21
- */
22
- static VALUE walrus_dir_mkdtemp_m(int argc, VALUE *argv, VALUE self)
23
- {
24
- VALUE template;
25
- if (rb_scan_args(argc, argv, "01", &template) == 0) /* check for 0 mandatory arguments, 1 optional argument */
26
- template = Qnil; /* default to nil if no argument passed */
27
- if (NIL_P(template))
28
- template = rb_str_new2("/tmp/temp.XXXXXX"); /* fallback to this template if passed nil */
29
- SafeStringValue(template); /* raises if template is tainted and SAFE level > 0 */
30
- VALUE safe = StringValue(template); /* duck typing support */
31
- char *path = mkdtemp(RSTRING(safe)->ptr);
32
- if (path == NULL)
33
- rb_raise(rb_eSystemCallError, "mkdtemp failed (error: %d)", errno);
34
- return rb_str_new2(path);
35
- }
36
-
37
- void Init_mkdtemp()
38
- {
39
- rb_define_module_function(rb_cDir, "mkdtemp", walrus_dir_mkdtemp_m, -1);
40
- }
41
-
@@ -1,36 +0,0 @@
1
- # Copyright 2007 Wincent Colaiuta
2
- # This program is distributed in the hope that it will be useful, but WITHOUT
3
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
5
- # in the accompanying file, "LICENSE.txt", for more details.
6
- #
7
- # $Id$
8
-
9
- require 'walrus'
10
-
11
- class Module
12
-
13
- private
14
-
15
- def attr_accessor_bycopy(*symbols)
16
- symbols.each { |symbol| attr_bycopy(symbol, true) }
17
- end
18
-
19
- def attr_bycopy(symbol, writeable = false)
20
- attr_reader symbol
21
- attr_writer_bycopy(symbol) if writeable
22
- end
23
-
24
- def attr_writer_bycopy(*symbols)
25
- symbols.each do |symbol|
26
- self.module_eval %Q{
27
- def #{symbol.id2name}=(value)
28
- @#{symbol.id2name} = value.clone
29
- rescue TypeError
30
- @#{symbol.id2name} = value
31
- end
32
- }
33
- end
34
- end
35
-
36
- end # class Module
@@ -1,62 +0,0 @@
1
- # Copyright 2007 Wincent Colaiuta
2
- # $Id$
3
-
4
- require 'walrus'
5
-
6
- module Test
7
- module Unit
8
-
9
- # See http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/138320
10
- # Usage:
11
- #
12
- # require 'test/unit'
13
- # require 'walrus/additions/test/unit/error_collector'
14
- #
15
- # class TestClass < Test::Unit::TestCase
16
- #
17
- # include Test::Unit::ErrorCollector
18
- #
19
- # def test_method
20
- # collecting_errors do
21
- # assert false
22
- # assert false
23
- # end
24
- # end
25
- #
26
- # end
27
- #
28
- module ErrorCollector
29
-
30
- def collecting_errors
31
- # save state prior to yielding to block
32
- is_collecting = @is_collecting
33
- @is_collecting = true
34
- yield
35
- ensure
36
- # restore state on leaving block
37
- @is_collecting = is_collecting
38
- end
39
-
40
- def raise(*)
41
- super
42
- rescue Test::Unit::AssertionFailedError
43
- handle_error(:add_failure, $!)
44
- rescue StandardError, ScriptError
45
- handle_error(:add_error, $!)
46
- end
47
-
48
- def handle_error(method, error)
49
- backtrace = error.backtrace
50
- backtrace.shift # raise shouldn't appear in the backtrace
51
- if @is_collecting
52
- backtrace.slice!(5, 2) # remove collecting_errors and corresponding block
53
- send(method, error.message, backtrace)
54
- else
55
- Kernel.raise(error, error.message, backtrace)
56
- end
57
- end
58
-
59
- end
60
-
61
- end
62
- end
@@ -1,97 +0,0 @@
1
- # Copyright 2007 Wincent Colaiuta
2
- # This program is distributed in the hope that it will be useful, but WITHOUT
3
- # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4
- # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
5
- # in the accompanying file, "LICENSE.txt", for more details.
6
- #
7
- # $Id: /mirrors/Walrus/trunk/walrus/spec/acceptance/acceptance_spec.rb 6739 2007-04-11T17:09:13.916915Z wincent $
8
-
9
- require File.join(File.dirname(__FILE__), '..', 'spec_helper.rb')
10
- require 'walrus/parser' # ensure that WalrusGrammar is defined before continuing
11
- require 'mkdtemp'
12
-
13
- module Walrus
14
-
15
- class WalrusGrammar
16
-
17
- # This spec performs high-level acceptance testing by running Walrus on the sample templates in the subdirectories of the "spec/acceptance/" directory and comparing them with the expected output.
18
- describe 'processing test files with Walrus' do
19
-
20
- # construct an array of absolute paths indicating the location of all testable templates.
21
- template_paths = Dir[File.join(File.dirname(__FILE__), '**/*.tmpl')].collect { |template| Pathname.new(template).realpath }
22
-
23
- # make temporary output dirs for storing compiled templates
24
- manually_compiled_templates = Pathname.new(Dir.mkdtemp('/tmp/walrus.acceptance.XXXXXX'))
25
- walrus_compiled_templates = Pathname.new(Dir.mkdtemp('/tmp/walrus.acceptance.XXXXXX'))
26
- parser = Parser.new
27
- search_additions = "#{ENV['RUBYLIB']}:#{Walrus::SpecHelper::LIBDIR}:#{Walrus::SpecHelper::EXTDIR}"
28
-
29
- template_paths.each do |path|
30
-
31
- template = Template.new(path)
32
- compiled = nil
33
- it 'template should compile (source file: #{path})' do
34
- compiled = template.compile
35
- end
36
- next if compiled.nil? # compiled will be nil if the compilation spec failed
37
-
38
- expected_output = IO.read(path.to_s.sub(/\.tmpl\z/i, ".expected"))
39
-
40
- it "actual output should match expected output evaluating dynamically (source file: #{path})" do
41
- actual_output = template.fill
42
- actual_output.should == expected_output
43
- end
44
-
45
- it "actual output should match expected output running compiled file in subshell (source file: #{path})" do
46
- target_path = manually_compiled_templates.join(path.basename(path.extname).to_s + '.rb')
47
- File.open(target_path, 'w+') { |file| file.puts compiled }
48
- actual_output = `ruby -I#{Walrus::SpecHelper::LIBDIR} -I#{Walrus::SpecHelper::EXTDIR} #{target_path}`
49
- actual_output.should == expected_output
50
- end
51
-
52
- it "actual output should match expected output using 'walrus' commandline tool (source file: #{path})" do
53
- `env RUBYLIB='#{search_additions}' #{Walrus::SpecHelper::TOOL} fill --output-dir '#{walrus_compiled_templates}' '#{path}'`
54
- dir, base = path.split
55
- dir = dir.to_s.sub(/\A\//, '') if dir.absolute? # and always will be absolute
56
- base = base.basename(base.extname).to_s + '.html'
57
- actual_output = IO.read(walrus_compiled_templates + dir + base)
58
- actual_output.should == expected_output
59
- end
60
-
61
- end
62
-
63
- end
64
-
65
- # These templates have a different extension to keep them separate from the other acceptance tests.
66
- describe 'processing multiple-interdependent files with Walrus' do
67
-
68
- template_paths = Dir[File.join(File.dirname(__FILE__), '**/*.complex')].collect { |template| Pathname.new(template).realpath }
69
- output_dir = Pathname.new(Dir.mkdtemp('/tmp/walrus.acceptance.XXXXXX'))
70
- parser = Parser.new
71
-
72
- search_additions = "#{ENV['RUBYLIB']}:#{Walrus::SpecHelper::LIBDIR}:#{Walrus::SpecHelper::EXTDIR}"
73
-
74
- template_paths.each do |path|
75
- it 'should be able to compile all the templates' do
76
- `env RUBYLIB='#{search_additions}' #{Walrus::SpecHelper::TOOL} compile --input-extension complex --output-dir '#{output_dir}' '#{path}'`
77
- end
78
- end
79
-
80
- template_paths.each do |path|
81
- it 'should be able to fill all the templates' do
82
- `env RUBYLIB='#{search_additions}' #{Walrus::SpecHelper::TOOL} fill --input-extension complex --output-dir '#{output_dir}' '#{path}'`
83
- dir, base = path.split
84
- dir = dir.to_s.sub(/\A\//, '') if dir.absolute? # and always will be absolute
85
- base = base.basename(base.extname).to_s + '.html'
86
- actual_output = IO.read(output_dir + dir + base)
87
- expected_output = IO.read(path.to_s.sub(/\.complex\z/i, ".expected"))
88
- actual_output.should == expected_output
89
- end
90
- end
91
-
92
- end
93
-
94
- end
95
-
96
- end # module Walrus
97
-
@@ -1 +0,0 @@
1
- This will be output by default.
@@ -1,3 +0,0 @@
1
- #block body
2
- This will be output by default.
3
- #end
@@ -1,5 +0,0 @@
1
- [This is the header]
2
-
3
- Main text...
4
-
5
- [This is the footer]
@@ -1,11 +0,0 @@
1
- #block body
2
- #block header
3
- [This is the header]
4
- #end
5
-
6
- Main text...
7
-
8
- #block footer
9
- [This is the footer]
10
- #end
11
- #end
@@ -1,3 +0,0 @@
1
- This file contains comments
2
- which should not appear in the template output...
3
- In the final output, this should be the third line...
@@ -1,6 +0,0 @@
1
- This file contains comments ## like this one!
2
- which should not appear in the template output...
3
- ## This line should be completely missing from the output
4
- ## and this one two, because the comments are the first
5
- ## (and only) thing on the lines
6
- In the final output, this should be the third line...
File without changes
@@ -1 +0,0 @@
1
- ## This template contains only a comment; the output file should be empty.
@@ -1,3 +0,0 @@
1
- This is block 1. It will be injected using the #silent directive.
2
- This is block 2. It will be injected using the #ruby directive.
3
- This is block 3. It will be referenced using a placeholder.
@@ -1,18 +0,0 @@
1
- ## This example shows some alternative ways of causing #def content to appear in the output
2
- ## (by default #def content is not automatically injected into the output)
3
- #def block1
4
- This is block 1. It will be injected using the \#silent directive.
5
- #end
6
- #def block2
7
- This is block 2. It will be injected using the \#ruby directive.
8
- #end
9
- #def block3
10
- This is block 3. It will be referenced using a placeholder.
11
- #end
12
- ## no need to call "accumulate" here because the block already does that.
13
- #silent block1
14
- #ruby
15
- # no need to call "accumulate" here because the block already does that.
16
- block2
17
- #end
18
- $block3