wlang 0.10.1 → 0.10.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.
- data/CHANGELOG.md +18 -1
- data/Gemfile.lock +4 -4
- data/lib/wlang.rb +1 -3
- data/lib/wlang/dialects/bluecloth_dialect.rb +16 -0
- data/lib/wlang/dialects/standard_dialects.rb +8 -1
- data/lib/wlang/parser.rb +19 -8
- data/lib/wlang/rulesets/basic_ruleset.rb +1 -1
- data/lib/wlang/rulesets/buffering_ruleset.rb +3 -1
- data/lib/wlang/template.rb +1 -1
- data/lib/wlang/version.rb +14 -0
- data/tasks/debug_mail.rake +1 -0
- data/tasks/unit_test.rake +3 -2
- data/test/blackbox/postblock/hello_to_authors.exp +1 -0
- data/test/blackbox/postblock/hello_to_authors.tpl +1 -0
- data/test/blackbox/test_all.rb +3 -1
- data/test/unit/wlang/specification_examples_test.rb +4 -2
- data/wlang.gemspec +5 -6
- data/wlang.noespec +3 -3
- metadata +122 -247
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
# Version 0.10.2 / 2011-02-25
|
|
2
|
+
|
|
3
|
+
* Bug fixes
|
|
4
|
+
|
|
5
|
+
* Fixed a bug that led to applying dialect post-transformation too many times in multi
|
|
6
|
+
block syntaxes. Post-transformation rules related strategies are now:
|
|
7
|
+
- Parser#instantiate now takes an optional boolean argument to set/unset dialect
|
|
8
|
+
post transformation (defaults to true, for backward compatibility).
|
|
9
|
+
- Invoking Template.instantiate always invoke Parser#instantiate(true)
|
|
10
|
+
- Buffering's <<+{...} always apply post-transformation as well
|
|
11
|
+
- Otherwise, post-transformation is only applied when the dialect explicitely changes
|
|
12
|
+
when invoking Parser#parse and Parser#parse_block
|
|
13
|
+
|
|
14
|
+
* Other enhancements
|
|
15
|
+
|
|
16
|
+
* Added a bluecloth/xhtml dialect and encoder.
|
|
17
|
+
|
|
1
18
|
# Version 0.10.1 / 2011-01-17
|
|
2
19
|
|
|
3
20
|
* Bug fixes
|
|
@@ -8,7 +25,7 @@
|
|
|
8
25
|
|
|
9
26
|
* WLang source code follows the ruby.noe template that comes bundled with Noe
|
|
10
27
|
|
|
11
|
-
# Version 0.10.0 / 2011-01-
|
|
28
|
+
# Version 0.10.0 / 2011-01-14
|
|
12
29
|
|
|
13
30
|
* New features
|
|
14
31
|
|
data/Gemfile.lock
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
wlang (0.10.
|
|
4
|
+
wlang (0.10.2)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: http://rubygems.org/
|
|
8
8
|
specs:
|
|
9
|
-
RedCloth (4.2.
|
|
10
|
-
bluecloth (2.0.
|
|
9
|
+
RedCloth (4.2.7)
|
|
10
|
+
bluecloth (2.0.11)
|
|
11
11
|
coderay (0.9.7)
|
|
12
12
|
diff-lcs (1.1.2)
|
|
13
13
|
rake (0.8.7)
|
|
14
|
-
rdoc (
|
|
14
|
+
rdoc (3.5.3)
|
|
15
15
|
rspec (2.4.0)
|
|
16
16
|
rspec-core (~> 2.4.0)
|
|
17
17
|
rspec-expectations (~> 2.4.0)
|
data/lib/wlang.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require 'wlang/loader'
|
|
2
|
+
require 'wlang/version'
|
|
2
3
|
require 'wlang/ext/string'
|
|
3
4
|
require 'stringio'
|
|
4
5
|
require 'wlang/rule'
|
|
@@ -20,9 +21,6 @@ require 'wlang/intelligent_buffer'
|
|
|
20
21
|
#
|
|
21
22
|
module WLang
|
|
22
23
|
|
|
23
|
-
# Current version of WLang
|
|
24
|
-
VERSION = "0.10.1".freeze
|
|
25
|
-
|
|
26
24
|
######################################################################## About files and extensions
|
|
27
25
|
|
|
28
26
|
# Regular expression for file extensions
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
module WLang
|
|
3
|
+
class EncoderSet
|
|
4
|
+
module BlueClothEncoders
|
|
5
|
+
|
|
6
|
+
# Default encoders
|
|
7
|
+
DEFAULT_ENCODERS = {"xhtml" => :xhtml_encoding}
|
|
8
|
+
|
|
9
|
+
# RDoc encoding
|
|
10
|
+
def self.xhtml_encoding(src, options)
|
|
11
|
+
BlueCloth.new(src).to_html
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
end # BlueClothEncoders
|
|
15
|
+
end # module EncoderSet
|
|
16
|
+
end # module WLang
|
|
@@ -65,13 +65,20 @@ WLang::dialect("rdoc") do
|
|
|
65
65
|
end
|
|
66
66
|
end
|
|
67
67
|
|
|
68
|
-
#
|
|
68
|
+
# redcloth (textile) dialect
|
|
69
69
|
WLang::dialect("redcloth") do
|
|
70
70
|
ruby_require "RedCloth", "wlang/dialects/redcloth_dialect" do
|
|
71
71
|
encoders WLang::EncoderSet::RedClothEncoders
|
|
72
72
|
end
|
|
73
73
|
end
|
|
74
74
|
|
|
75
|
+
# bluecloth (markdown) dialect
|
|
76
|
+
WLang::dialect("bluecloth") do
|
|
77
|
+
ruby_require "BlueCloth", "wlang/dialects/bluecloth_dialect" do
|
|
78
|
+
encoders WLang::EncoderSet::BlueClothEncoders
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
75
82
|
# wlang dialects
|
|
76
83
|
WLang::dialect("wlang") do
|
|
77
84
|
|
data/lib/wlang/parser.rb
CHANGED
|
@@ -118,8 +118,11 @@ module WLang
|
|
|
118
118
|
result
|
|
119
119
|
end
|
|
120
120
|
|
|
121
|
-
#
|
|
122
|
-
|
|
121
|
+
#
|
|
122
|
+
# Parses the template's text and instantiate it. Dialect post_transformer is
|
|
123
|
+
# only applied of _apply_posttransform_ is set to true.
|
|
124
|
+
#
|
|
125
|
+
def instantiate(apply_posttransform = true)
|
|
123
126
|
# Main variables put in local scope for efficiency:
|
|
124
127
|
# - template: current parsed template
|
|
125
128
|
# - source_text: current template's source text
|
|
@@ -184,7 +187,13 @@ module WLang
|
|
|
184
187
|
self.<<(source_text[self.offset, 1+source_text.length-self.offset], false)
|
|
185
188
|
self.offset = source_text.length
|
|
186
189
|
end
|
|
187
|
-
|
|
190
|
+
|
|
191
|
+
# Apply post-transformation only if required
|
|
192
|
+
if apply_posttransform
|
|
193
|
+
[dialect.apply_post_transform(buffer), self.offset-1]
|
|
194
|
+
else
|
|
195
|
+
[buffer, self.offset-1]
|
|
196
|
+
end
|
|
188
197
|
end
|
|
189
198
|
|
|
190
199
|
###################################################################### Callbacks for rule sets
|
|
@@ -194,11 +203,13 @@ module WLang
|
|
|
194
203
|
# _dialect_ (same dialect than self if dialect is nil) and with an output
|
|
195
204
|
# _buffer_.
|
|
196
205
|
#
|
|
197
|
-
def parse(offset,
|
|
198
|
-
dialect = ensure_dialect(
|
|
199
|
-
buffer = dialect.factor_buffer
|
|
200
|
-
branch(:offset => offset,
|
|
201
|
-
|
|
206
|
+
def parse(offset, req_dialect = nil, req_buffer = nil)
|
|
207
|
+
dialect = ensure_dialect(req_dialect.nil? ? self.dialect : req_dialect)
|
|
208
|
+
buffer = (req_buffer.nil? ? dialect.factor_buffer : req_buffer)
|
|
209
|
+
branch(:offset => offset,
|
|
210
|
+
:dialect => dialect,
|
|
211
|
+
:buffer => buffer) do
|
|
212
|
+
instantiate(!req_dialect.nil?)
|
|
202
213
|
end
|
|
203
214
|
end
|
|
204
215
|
|
|
@@ -97,7 +97,9 @@ module WLang
|
|
|
97
97
|
:offset => 0,
|
|
98
98
|
:shared => shared,
|
|
99
99
|
:scope => context) {
|
|
100
|
-
|
|
100
|
+
# We ask the parser to instantiate and apply
|
|
101
|
+
# post transformation in all cases
|
|
102
|
+
instantiated, forget = parser.instantiate(true)
|
|
101
103
|
[instantiated, reached]
|
|
102
104
|
}
|
|
103
105
|
else
|
data/lib/wlang/template.rb
CHANGED
|
@@ -67,7 +67,7 @@ module WLang
|
|
|
67
67
|
# Instantiates the template, with optinal context and hosted language.
|
|
68
68
|
def instantiate(context = {}, hosted = ::WLang::HostedLanguage.new)
|
|
69
69
|
p = ::WLang::Parser.new(hosted, self, context)
|
|
70
|
-
p.instantiate[0]
|
|
70
|
+
p.instantiate(true)[0]
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
# Returns a friendly position of an offset in the source text
|
data/tasks/debug_mail.rake
CHANGED
data/tasks/unit_test.rake
CHANGED
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
# http://rake.rubyforge.org/classes/Rake/TestTask.html
|
|
26
26
|
#
|
|
27
27
|
begin
|
|
28
|
-
desc "Lauches unit tests"
|
|
29
28
|
require 'rake/testtask'
|
|
29
|
+
desc "Run unit tests"
|
|
30
30
|
Rake::TestTask.new(:unit_test) do |t|
|
|
31
31
|
|
|
32
32
|
# List of directories to added to $LOAD_PATH before running the
|
|
@@ -68,9 +68,10 @@ begin
|
|
|
68
68
|
end
|
|
69
69
|
rescue LoadError => ex
|
|
70
70
|
task :unit_test do
|
|
71
|
-
abort
|
|
71
|
+
abort "rake/testtask does not seem available...\n #{ex.message}"
|
|
72
72
|
end
|
|
73
73
|
ensure
|
|
74
|
+
desc "Run all tests"
|
|
74
75
|
task :test => [:unit_test]
|
|
75
76
|
end
|
|
76
77
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<pre>hello blambeau, llambeau, acailliau</pre>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
hello *{authors as a}{!{a}}{, }
|
data/test/blackbox/test_all.rb
CHANGED
|
@@ -28,6 +28,7 @@ module WLang
|
|
|
28
28
|
post_transform{|txt| "<pre>#{txt}</pre>"}
|
|
29
29
|
rules WLang::RuleSet::Basic
|
|
30
30
|
rules WLang::RuleSet::Buffering
|
|
31
|
+
rules WLang::RuleSet::Imperative
|
|
31
32
|
}
|
|
32
33
|
dialect("poststring") {
|
|
33
34
|
post_transform "plain-text/upcase"
|
|
@@ -45,7 +46,8 @@ module WLang
|
|
|
45
46
|
'who' => 'wlang',
|
|
46
47
|
'whowho' => 'who',
|
|
47
48
|
'input_file' => 'text_1.txt',
|
|
48
|
-
'data_file_1' => 'data_1.rb'
|
|
49
|
+
'data_file_1' => 'data_1.rb',
|
|
50
|
+
'authors' => ['blambeau', 'llambeau', 'acailliau']
|
|
49
51
|
}
|
|
50
52
|
|
|
51
53
|
Dir["#{File.dirname(__FILE__)}/*"].each do |folder|
|
|
@@ -18,8 +18,10 @@ class WLang::SpecificationExamplesTest < Test::Unit::TestCase
|
|
|
18
18
|
ruleset["examples"].each do |example|
|
|
19
19
|
dialect, expr, expected = example
|
|
20
20
|
dialect = "wlang/ruby" if dialect=="wlang/*"
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
assert_equal(
|
|
22
|
+
expected,
|
|
23
|
+
WLang::instantiate(expr, context.dup, dialect),
|
|
24
|
+
"Specification example failed (#{ruleset['name']}, #{dialect})")
|
|
23
25
|
end
|
|
24
26
|
end
|
|
25
27
|
end
|
data/wlang.gemspec
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# We require your library, mainly to have access to the VERSION number.
|
|
2
2
|
# Feel free to set $version manually.
|
|
3
3
|
$LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
|
|
4
|
-
require "wlang"
|
|
5
|
-
$version = WLang::
|
|
4
|
+
require "wlang/version"
|
|
5
|
+
$version = WLang::Version.to_s
|
|
6
6
|
|
|
7
7
|
#
|
|
8
8
|
# This is your Gem specification. Default values are provided so that your library
|
|
@@ -80,11 +80,10 @@ Gem::Specification.new do |s|
|
|
|
80
80
|
# of the project. Entries of the manifest are interpreted as Dir[...]
|
|
81
81
|
# patterns so that lazy people may use wilcards like lib/**/*
|
|
82
82
|
#
|
|
83
|
-
here = File.dirname(__FILE__)
|
|
83
|
+
here = File.expand_path(File.dirname(__FILE__))
|
|
84
84
|
s.files = File.readlines(File.join(here, 'Manifest.txt')).
|
|
85
|
-
inject([]){|files, pattern|
|
|
86
|
-
|
|
87
|
-
}
|
|
85
|
+
inject([]){|files, pattern| files + Dir[File.join(here, pattern.strip)]}.
|
|
86
|
+
collect{|x| x[(1+here.size)..-1]}
|
|
88
87
|
|
|
89
88
|
# Test files included in this gem.
|
|
90
89
|
#
|
data/wlang.noespec
CHANGED
|
@@ -13,7 +13,7 @@ variables:
|
|
|
13
13
|
upper:
|
|
14
14
|
WLang
|
|
15
15
|
version:
|
|
16
|
-
0.10.
|
|
16
|
+
0.10.2
|
|
17
17
|
summary: |-
|
|
18
18
|
WLang is a powerful code generation and templating engine
|
|
19
19
|
description: |-
|
|
@@ -37,8 +37,8 @@ variables:
|
|
|
37
37
|
- {name: yard, version: "~> 0.6.4", groups: [development]}
|
|
38
38
|
- {name: bluecloth, version: "~> 2.0.9", groups: [development]}
|
|
39
39
|
#
|
|
40
|
-
- {name: rdoc,
|
|
41
|
-
- {name: coderay,
|
|
40
|
+
- {name: rdoc, version: ">= 0", groups: [development]}
|
|
41
|
+
- {name: coderay, version: ">= 0", groups: [development]}
|
|
42
42
|
- {name: RedCloth, version: ">= 0", groups: [development]}
|
|
43
43
|
rake_tasks:
|
|
44
44
|
debug_mail:
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: wlang
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
4
|
+
hash: 51
|
|
5
5
|
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 10
|
|
9
|
-
-
|
|
10
|
-
version: 0.10.
|
|
9
|
+
- 2
|
|
10
|
+
version: 0.10.2
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Bernard Lambeau
|
|
@@ -16,14 +16,12 @@ autorequire:
|
|
|
16
16
|
bindir: bin
|
|
17
17
|
cert_chain: []
|
|
18
18
|
|
|
19
|
-
date: 2011-
|
|
19
|
+
date: 2011-02-25 00:00:00 +01:00
|
|
20
20
|
default_executable:
|
|
21
21
|
dependencies:
|
|
22
22
|
- !ruby/object:Gem::Dependency
|
|
23
|
-
prerelease: false
|
|
24
|
-
name: rake
|
|
25
23
|
type: :development
|
|
26
|
-
|
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
27
25
|
none: false
|
|
28
26
|
requirements:
|
|
29
27
|
- - ~>
|
|
@@ -34,12 +32,12 @@ dependencies:
|
|
|
34
32
|
- 8
|
|
35
33
|
- 7
|
|
36
34
|
version: 0.8.7
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
name: rake
|
|
36
|
+
version_requirements: *id001
|
|
39
37
|
prerelease: false
|
|
40
|
-
|
|
38
|
+
- !ruby/object:Gem::Dependency
|
|
41
39
|
type: :development
|
|
42
|
-
|
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
43
41
|
none: false
|
|
44
42
|
requirements:
|
|
45
43
|
- - ~>
|
|
@@ -49,12 +47,12 @@ dependencies:
|
|
|
49
47
|
- 1
|
|
50
48
|
- 0
|
|
51
49
|
version: "1.0"
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
name: bundler
|
|
51
|
+
version_requirements: *id002
|
|
54
52
|
prerelease: false
|
|
55
|
-
|
|
53
|
+
- !ruby/object:Gem::Dependency
|
|
56
54
|
type: :development
|
|
57
|
-
|
|
55
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
58
56
|
none: false
|
|
59
57
|
requirements:
|
|
60
58
|
- - ~>
|
|
@@ -65,12 +63,12 @@ dependencies:
|
|
|
65
63
|
- 4
|
|
66
64
|
- 0
|
|
67
65
|
version: 2.4.0
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
name: rspec
|
|
67
|
+
version_requirements: *id003
|
|
70
68
|
prerelease: false
|
|
71
|
-
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
72
70
|
type: :development
|
|
73
|
-
|
|
71
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
|
74
72
|
none: false
|
|
75
73
|
requirements:
|
|
76
74
|
- - ~>
|
|
@@ -81,12 +79,12 @@ dependencies:
|
|
|
81
79
|
- 6
|
|
82
80
|
- 4
|
|
83
81
|
version: 0.6.4
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
name: yard
|
|
83
|
+
version_requirements: *id004
|
|
86
84
|
prerelease: false
|
|
87
|
-
|
|
85
|
+
- !ruby/object:Gem::Dependency
|
|
88
86
|
type: :development
|
|
89
|
-
|
|
87
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
|
90
88
|
none: false
|
|
91
89
|
requirements:
|
|
92
90
|
- - ~>
|
|
@@ -97,12 +95,12 @@ dependencies:
|
|
|
97
95
|
- 0
|
|
98
96
|
- 9
|
|
99
97
|
version: 2.0.9
|
|
100
|
-
|
|
101
|
-
|
|
98
|
+
name: bluecloth
|
|
99
|
+
version_requirements: *id005
|
|
102
100
|
prerelease: false
|
|
103
|
-
|
|
101
|
+
- !ruby/object:Gem::Dependency
|
|
104
102
|
type: :development
|
|
105
|
-
|
|
103
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
|
106
104
|
none: false
|
|
107
105
|
requirements:
|
|
108
106
|
- - ">="
|
|
@@ -111,12 +109,12 @@ dependencies:
|
|
|
111
109
|
segments:
|
|
112
110
|
- 0
|
|
113
111
|
version: "0"
|
|
114
|
-
|
|
115
|
-
|
|
112
|
+
name: rdoc
|
|
113
|
+
version_requirements: *id006
|
|
116
114
|
prerelease: false
|
|
117
|
-
|
|
115
|
+
- !ruby/object:Gem::Dependency
|
|
118
116
|
type: :development
|
|
119
|
-
|
|
117
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
|
120
118
|
none: false
|
|
121
119
|
requirements:
|
|
122
120
|
- - ">="
|
|
@@ -125,12 +123,12 @@ dependencies:
|
|
|
125
123
|
segments:
|
|
126
124
|
- 0
|
|
127
125
|
version: "0"
|
|
128
|
-
|
|
129
|
-
|
|
126
|
+
name: coderay
|
|
127
|
+
version_requirements: *id007
|
|
130
128
|
prerelease: false
|
|
131
|
-
|
|
129
|
+
- !ruby/object:Gem::Dependency
|
|
132
130
|
type: :development
|
|
133
|
-
|
|
131
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
|
134
132
|
none: false
|
|
135
133
|
requirements:
|
|
136
134
|
- - ">="
|
|
@@ -139,7 +137,9 @@ dependencies:
|
|
|
139
137
|
segments:
|
|
140
138
|
- 0
|
|
141
139
|
version: "0"
|
|
142
|
-
|
|
140
|
+
name: RedCloth
|
|
141
|
+
version_requirements: *id008
|
|
142
|
+
prerelease: false
|
|
143
143
|
description: |-
|
|
144
144
|
WLang is a general-purpose *code generation*/*templating engine*. It's main aim is to help you generating
|
|
145
145
|
web pages, sql queries, ruby code (that is, generating code in general) without having to worry too much
|
|
@@ -158,201 +158,85 @@ extra_rdoc_files:
|
|
|
158
158
|
- CHANGELOG.md
|
|
159
159
|
- LICENCE.md
|
|
160
160
|
files:
|
|
161
|
-
-
|
|
162
|
-
-
|
|
163
|
-
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
166
|
-
-
|
|
167
|
-
-
|
|
168
|
-
-
|
|
169
|
-
-
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
173
|
-
-
|
|
174
|
-
-
|
|
175
|
-
-
|
|
176
|
-
-
|
|
177
|
-
-
|
|
178
|
-
-
|
|
179
|
-
-
|
|
180
|
-
-
|
|
181
|
-
-
|
|
182
|
-
-
|
|
183
|
-
-
|
|
184
|
-
-
|
|
185
|
-
-
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
-
|
|
189
|
-
-
|
|
190
|
-
-
|
|
191
|
-
-
|
|
192
|
-
-
|
|
193
|
-
-
|
|
194
|
-
-
|
|
195
|
-
-
|
|
196
|
-
-
|
|
197
|
-
-
|
|
198
|
-
-
|
|
199
|
-
-
|
|
200
|
-
-
|
|
201
|
-
-
|
|
202
|
-
-
|
|
203
|
-
-
|
|
204
|
-
-
|
|
205
|
-
-
|
|
206
|
-
-
|
|
207
|
-
-
|
|
208
|
-
-
|
|
209
|
-
-
|
|
210
|
-
-
|
|
211
|
-
-
|
|
212
|
-
-
|
|
213
|
-
-
|
|
214
|
-
-
|
|
215
|
-
-
|
|
216
|
-
-
|
|
217
|
-
-
|
|
218
|
-
-
|
|
219
|
-
-
|
|
220
|
-
-
|
|
221
|
-
-
|
|
222
|
-
-
|
|
223
|
-
-
|
|
224
|
-
-
|
|
225
|
-
-
|
|
226
|
-
-
|
|
227
|
-
-
|
|
228
|
-
-
|
|
229
|
-
-
|
|
230
|
-
-
|
|
231
|
-
-
|
|
232
|
-
-
|
|
233
|
-
-
|
|
234
|
-
-
|
|
235
|
-
-
|
|
236
|
-
-
|
|
237
|
-
-
|
|
238
|
-
-
|
|
239
|
-
-
|
|
240
|
-
- ./test/blackbox/basic/execution_2.exp
|
|
241
|
-
- ./test/blackbox/basic/execution_2.tpl
|
|
242
|
-
- ./test/blackbox/basic/execution_3.exp
|
|
243
|
-
- ./test/blackbox/basic/execution_3.tpl
|
|
244
|
-
- ./test/blackbox/basic/execution_4.exp
|
|
245
|
-
- ./test/blackbox/basic/execution_4.tpl
|
|
246
|
-
- ./test/blackbox/basic/inclusion_1.exp
|
|
247
|
-
- ./test/blackbox/basic/inclusion_1.tpl
|
|
248
|
-
- ./test/blackbox/basic/inclusion_2.exp
|
|
249
|
-
- ./test/blackbox/basic/inclusion_2.tpl
|
|
250
|
-
- ./test/blackbox/basic/injection_1.exp
|
|
251
|
-
- ./test/blackbox/basic/injection_1.tpl
|
|
252
|
-
- ./test/blackbox/basic/injection_2.exp
|
|
253
|
-
- ./test/blackbox/basic/injection_2.tpl
|
|
254
|
-
- ./test/blackbox/basic/modulation_1.exp
|
|
255
|
-
- ./test/blackbox/basic/modulation_1.tpl
|
|
256
|
-
- ./test/blackbox/basic/modulation_2.exp
|
|
257
|
-
- ./test/blackbox/basic/modulation_2.tpl
|
|
258
|
-
- ./test/blackbox/basic/recursive_app_1.exp
|
|
259
|
-
- ./test/blackbox/basic/recursive_app_1.tpl
|
|
260
|
-
- ./test/blackbox/basic/recursive_app_2.exp
|
|
261
|
-
- ./test/blackbox/basic/recursive_app_2.tpl
|
|
262
|
-
- ./test/blackbox/buffering/data_1.rb
|
|
263
|
-
- ./test/blackbox/buffering/data_assignment_1.exp
|
|
264
|
-
- ./test/blackbox/buffering/data_assignment_1.tpl
|
|
265
|
-
- ./test/blackbox/buffering/data_assignment_2.exp
|
|
266
|
-
- ./test/blackbox/buffering/data_assignment_2.tpl
|
|
267
|
-
- ./test/blackbox/buffering/data_assignment_3.exp
|
|
268
|
-
- ./test/blackbox/buffering/data_assignment_3.tpl
|
|
269
|
-
- ./test/blackbox/buffering/data_assignment_4.exp
|
|
270
|
-
- ./test/blackbox/buffering/data_assignment_4.tpl
|
|
271
|
-
- ./test/blackbox/buffering/input_1.exp
|
|
272
|
-
- ./test/blackbox/buffering/input_1.tpl
|
|
273
|
-
- ./test/blackbox/buffering/input_2.exp
|
|
274
|
-
- ./test/blackbox/buffering/input_2.tpl
|
|
275
|
-
- ./test/blackbox/buffering/input_3.exp
|
|
276
|
-
- ./test/blackbox/buffering/input_3.tpl
|
|
277
|
-
- ./test/blackbox/buffering/input_inclusion.exp
|
|
278
|
-
- ./test/blackbox/buffering/input_inclusion.tpl
|
|
279
|
-
- ./test/blackbox/buffering/input_inclusion_1.exp
|
|
280
|
-
- ./test/blackbox/buffering/input_inclusion_1.tpl
|
|
281
|
-
- ./test/blackbox/buffering/input_inclusion_2.exp
|
|
282
|
-
- ./test/blackbox/buffering/input_inclusion_2.tpl
|
|
283
|
-
- ./test/blackbox/buffering/input_inclusion_3.exp
|
|
284
|
-
- ./test/blackbox/buffering/input_inclusion_3.tpl
|
|
285
|
-
- ./test/blackbox/buffering/input_inclusion_4.exp
|
|
286
|
-
- ./test/blackbox/buffering/input_inclusion_4.tpl
|
|
287
|
-
- ./test/blackbox/buffering/input_inclusion_5.exp
|
|
288
|
-
- ./test/blackbox/buffering/input_inclusion_5.tpl
|
|
289
|
-
- ./test/blackbox/buffering/input_inclusion_6.exp
|
|
290
|
-
- ./test/blackbox/buffering/input_inclusion_6.tpl
|
|
291
|
-
- ./test/blackbox/buffering/input_inclusion_7.exp
|
|
292
|
-
- ./test/blackbox/buffering/input_inclusion_7.tpl
|
|
293
|
-
- ./test/blackbox/buffering/text_1.txt
|
|
294
|
-
- ./test/blackbox/buffering/wlang.txt
|
|
295
|
-
- ./test/blackbox/context/assignment_1.exp
|
|
296
|
-
- ./test/blackbox/context/assignment_1.tpl
|
|
297
|
-
- ./test/blackbox/context/assignment_2.exp
|
|
298
|
-
- ./test/blackbox/context/assignment_2.tpl
|
|
299
|
-
- ./test/blackbox/context/assignment_3.exp
|
|
300
|
-
- ./test/blackbox/context/assignment_3.tpl
|
|
301
|
-
- ./test/blackbox/context/assignment_4.exp
|
|
302
|
-
- ./test/blackbox/context/assignment_4.tpl
|
|
303
|
-
- ./test/blackbox/context/block_assignment_1.exp
|
|
304
|
-
- ./test/blackbox/context/block_assignment_1.tpl
|
|
305
|
-
- ./test/blackbox/context/block_assignment_2.exp
|
|
306
|
-
- ./test/blackbox/context/block_assignment_2.tpl
|
|
307
|
-
- ./test/blackbox/context/modulo_assignment_1.exp
|
|
308
|
-
- ./test/blackbox/context/modulo_assignment_1.tpl
|
|
309
|
-
- ./test/blackbox/context/modulo_assignment_2.exp
|
|
310
|
-
- ./test/blackbox/context/modulo_assignment_2.tpl
|
|
311
|
-
- ./test/blackbox/data_1.rb
|
|
312
|
-
- ./test/blackbox/postblock/hello.exp
|
|
313
|
-
- ./test/blackbox/postblock/hello.pre
|
|
314
|
-
- ./test/blackbox/postblock/hello.tpl
|
|
315
|
-
- ./test/blackbox/postblock/hello_input_inclusion.exp
|
|
316
|
-
- ./test/blackbox/postblock/hello_input_inclusion.tpl
|
|
317
|
-
- ./test/blackbox/poststring/hello.exp
|
|
318
|
-
- ./test/blackbox/poststring/hello.tpl
|
|
319
|
-
- ./test/blackbox/test_all.rb
|
|
320
|
-
- ./test/standard_dialects/ruby/data.rb
|
|
321
|
-
- ./test/standard_dialects/ruby/inclusion.exp
|
|
322
|
-
- ./test/standard_dialects/ruby/inclusion.tpl
|
|
323
|
-
- ./test/standard_dialects/test_all.rb
|
|
324
|
-
- ./test/standard_dialects/yaml/assumptions_test.rb
|
|
325
|
-
- ./test/standard_dialects/yaml/data.rb
|
|
326
|
-
- ./test/standard_dialects/yaml/inclusion_1.exp
|
|
327
|
-
- ./test/standard_dialects/yaml/inclusion_1.tpl
|
|
328
|
-
- ./test/standard_dialects/yaml/inclusion_2.exp
|
|
329
|
-
- ./test/standard_dialects/yaml/inclusion_2.tpl
|
|
330
|
-
- ./test/unit/test_all.rb
|
|
331
|
-
- ./test/unit/wlang/anagram_bugs_test.rb
|
|
332
|
-
- ./test/unit/wlang/basic_ruleset_test.rb
|
|
333
|
-
- ./test/unit/wlang/buffering_ruleset_test.rb
|
|
334
|
-
- ./test/unit/wlang/buffering_template1.wtpl
|
|
335
|
-
- ./test/unit/wlang/buffering_template2.wtpl
|
|
336
|
-
- ./test/unit/wlang/buffering_template3.wtpl
|
|
337
|
-
- ./test/unit/wlang/buffering_template4.wtpl
|
|
338
|
-
- ./test/unit/wlang/buffering_template5.wtpl
|
|
339
|
-
- ./test/unit/wlang/context_ruleset_test.rb
|
|
340
|
-
- ./test/unit/wlang/data.rb
|
|
341
|
-
- ./test/unit/wlang/encoder_set_test.rb
|
|
342
|
-
- ./test/unit/wlang/imperative_ruleset_test.rb
|
|
343
|
-
- ./test/unit/wlang/intelligent_buffer_test.rb
|
|
344
|
-
- ./test/unit/wlang/othersymbols_test.rb
|
|
345
|
-
- ./test/unit/wlang/parser_test.rb
|
|
346
|
-
- ./test/unit/wlang/plain_text_dialect_test.rb
|
|
347
|
-
- ./test/unit/wlang/ruby_dialect_test.rb
|
|
348
|
-
- ./test/unit/wlang/ruby_expected.rb
|
|
349
|
-
- ./test/unit/wlang/ruby_template.wrb
|
|
350
|
-
- ./test/unit/wlang/ruleset_utils_test.rb
|
|
351
|
-
- ./test/unit/wlang/specification_examples_test.rb
|
|
352
|
-
- ./test/unit/wlang/test_utils.rb
|
|
353
|
-
- ./test/unit/wlang/wlang_test.rb
|
|
354
|
-
- ./wlang.gemspec
|
|
355
|
-
- ./wlang.noespec
|
|
161
|
+
- bin/wlang
|
|
162
|
+
- CHANGELOG.md
|
|
163
|
+
- doc/specification/about.rdoc
|
|
164
|
+
- doc/specification/analytics.wtpl
|
|
165
|
+
- doc/specification/dialect.wtpl
|
|
166
|
+
- doc/specification/dialects.wtpl
|
|
167
|
+
- doc/specification/examples.rb
|
|
168
|
+
- doc/specification/glossary.wtpl
|
|
169
|
+
- doc/specification/hosting.rdoc
|
|
170
|
+
- doc/specification/overview.rdoc
|
|
171
|
+
- doc/specification/rulesets.wtpl
|
|
172
|
+
- doc/specification/specification.css
|
|
173
|
+
- doc/specification/specification.html
|
|
174
|
+
- doc/specification/specification.js
|
|
175
|
+
- doc/specification/specification.wtpl
|
|
176
|
+
- doc/specification/specification.yml
|
|
177
|
+
- doc/specification/symbols.wtpl
|
|
178
|
+
- Gemfile
|
|
179
|
+
- Gemfile.lock
|
|
180
|
+
- lib/wlang/dialect.rb
|
|
181
|
+
- lib/wlang/dialect_dsl.rb
|
|
182
|
+
- lib/wlang/dialect_loader.rb
|
|
183
|
+
- lib/wlang/dialects/bluecloth_dialect.rb
|
|
184
|
+
- lib/wlang/dialects/coderay_dialect.rb
|
|
185
|
+
- lib/wlang/dialects/hosted_dialect.rb
|
|
186
|
+
- lib/wlang/dialects/plain_text_dialect.rb
|
|
187
|
+
- lib/wlang/dialects/rdoc_dialect.rb
|
|
188
|
+
- lib/wlang/dialects/redcloth_dialect.rb
|
|
189
|
+
- lib/wlang/dialects/ruby_dialect.rb
|
|
190
|
+
- lib/wlang/dialects/sql_dialect.rb
|
|
191
|
+
- lib/wlang/dialects/standard_dialects.rb
|
|
192
|
+
- lib/wlang/dialects/xhtml_dialect.rb
|
|
193
|
+
- lib/wlang/dialects/yaml_dialect.rb
|
|
194
|
+
- lib/wlang/encoder.rb
|
|
195
|
+
- lib/wlang/encoder_set.rb
|
|
196
|
+
- lib/wlang/errors.rb
|
|
197
|
+
- lib/wlang/ext/hash_methodize.rb
|
|
198
|
+
- lib/wlang/ext/string.rb
|
|
199
|
+
- lib/wlang/hash_scope.rb
|
|
200
|
+
- lib/wlang/hosted_language.rb
|
|
201
|
+
- lib/wlang/intelligent_buffer.rb
|
|
202
|
+
- lib/wlang/loader.rb
|
|
203
|
+
- lib/wlang/parser.rb
|
|
204
|
+
- lib/wlang/parser_state.rb
|
|
205
|
+
- lib/wlang/rule.rb
|
|
206
|
+
- lib/wlang/rule_set.rb
|
|
207
|
+
- lib/wlang/rulesets/basic_ruleset.rb
|
|
208
|
+
- lib/wlang/rulesets/buffering_ruleset.rb
|
|
209
|
+
- lib/wlang/rulesets/context_ruleset.rb
|
|
210
|
+
- lib/wlang/rulesets/encoding_ruleset.rb
|
|
211
|
+
- lib/wlang/rulesets/imperative_ruleset.rb
|
|
212
|
+
- lib/wlang/rulesets/ruleset_utils.rb
|
|
213
|
+
- lib/wlang/template.rb
|
|
214
|
+
- lib/wlang/version.rb
|
|
215
|
+
- lib/wlang/wlang_command.rb
|
|
216
|
+
- lib/wlang/wlang_command_options.rb
|
|
217
|
+
- lib/wlang.rb
|
|
218
|
+
- LICENCE.md
|
|
219
|
+
- Manifest.txt
|
|
220
|
+
- Rakefile
|
|
221
|
+
- README.md
|
|
222
|
+
- spec/basic_object.spec
|
|
223
|
+
- spec/coderay_dialect.spec
|
|
224
|
+
- spec/dialect/apply_post_transform.spec
|
|
225
|
+
- spec/global_extensions.rb
|
|
226
|
+
- spec/hash_scope.spec
|
|
227
|
+
- spec/redcloth_dialect.spec
|
|
228
|
+
- spec/spec_helper.rb
|
|
229
|
+
- spec/test_all.rb
|
|
230
|
+
- spec/wlang.spec
|
|
231
|
+
- spec/wlang_spec.rb
|
|
232
|
+
- spec/xhtml_dialect.spec
|
|
233
|
+
- tasks/debug_mail.rake
|
|
234
|
+
- tasks/debug_mail.txt
|
|
235
|
+
- tasks/gem.rake
|
|
236
|
+
- tasks/genspec.rake
|
|
237
|
+
- tasks/spec_test.rake
|
|
238
|
+
- tasks/unit_test.rake
|
|
239
|
+
- tasks/yard.rake
|
|
356
240
|
- test/blackbox/basic/execution_1.exp
|
|
357
241
|
- test/blackbox/basic/execution_1.tpl
|
|
358
242
|
- test/blackbox/basic/execution_2.exp
|
|
@@ -432,6 +316,8 @@ files:
|
|
|
432
316
|
- test/blackbox/postblock/hello.tpl
|
|
433
317
|
- test/blackbox/postblock/hello_input_inclusion.exp
|
|
434
318
|
- test/blackbox/postblock/hello_input_inclusion.tpl
|
|
319
|
+
- test/blackbox/postblock/hello_to_authors.exp
|
|
320
|
+
- test/blackbox/postblock/hello_to_authors.tpl
|
|
435
321
|
- test/blackbox/poststring/hello.exp
|
|
436
322
|
- test/blackbox/poststring/hello.tpl
|
|
437
323
|
- test/blackbox/test_all.rb
|
|
@@ -469,21 +355,8 @@ files:
|
|
|
469
355
|
- test/unit/wlang/specification_examples_test.rb
|
|
470
356
|
- test/unit/wlang/test_utils.rb
|
|
471
357
|
- test/unit/wlang/wlang_test.rb
|
|
472
|
-
-
|
|
473
|
-
-
|
|
474
|
-
- spec/dialect/apply_post_transform.spec
|
|
475
|
-
- spec/global_extensions.rb
|
|
476
|
-
- spec/hash_scope.spec
|
|
477
|
-
- spec/redcloth_dialect.spec
|
|
478
|
-
- spec/spec_helper.rb
|
|
479
|
-
- spec/test_all.rb
|
|
480
|
-
- spec/wlang.spec
|
|
481
|
-
- spec/wlang_spec.rb
|
|
482
|
-
- spec/xhtml_dialect.spec
|
|
483
|
-
- bin/wlang
|
|
484
|
-
- README.md
|
|
485
|
-
- CHANGELOG.md
|
|
486
|
-
- LICENCE.md
|
|
358
|
+
- wlang.gemspec
|
|
359
|
+
- wlang.noespec
|
|
487
360
|
has_rdoc: true
|
|
488
361
|
homepage: http://github.com/blambeau/wlang
|
|
489
362
|
licenses: []
|
|
@@ -514,7 +387,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
514
387
|
requirements: []
|
|
515
388
|
|
|
516
389
|
rubyforge_project:
|
|
517
|
-
rubygems_version: 1.
|
|
390
|
+
rubygems_version: 1.5.0
|
|
518
391
|
signing_key:
|
|
519
392
|
specification_version: 3
|
|
520
393
|
summary: WLang is a powerful code generation and templating engine
|
|
@@ -598,6 +471,8 @@ test_files:
|
|
|
598
471
|
- test/blackbox/postblock/hello.tpl
|
|
599
472
|
- test/blackbox/postblock/hello_input_inclusion.exp
|
|
600
473
|
- test/blackbox/postblock/hello_input_inclusion.tpl
|
|
474
|
+
- test/blackbox/postblock/hello_to_authors.exp
|
|
475
|
+
- test/blackbox/postblock/hello_to_authors.tpl
|
|
601
476
|
- test/blackbox/poststring/hello.exp
|
|
602
477
|
- test/blackbox/poststring/hello.tpl
|
|
603
478
|
- test/blackbox/test_all.rb
|