trac-wiki 0.3.21 → 0.3.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trac-wiki/env.rb +8 -2
- data/lib/trac-wiki/parser.rb +4 -0
- data/lib/trac-wiki/version.rb +1 -1
- data/test/parser_test.rb +7 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78e7c6394c7e42eec56bad4af297ccc8e66a4fb8
|
4
|
+
data.tar.gz: a30866e55c43ce02a45080859f0b67661b4c18ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4878f8e561b7f6c1a9559f59662e4c2c2399109873db4f9d4fa9862971adf4a471d594ae8dc1f82c010078b7068239f279fccad9c510652702e760654bd359b
|
7
|
+
data.tar.gz: c8f89d8b4457cd4d8601a9becb8506ddc86de4780ddfa89e68b9e329b4e1448960b73beb056ffcede8e2a28ba875c3ad6dbbdf245ea2a0d89c0471338b5a05ec
|
data/lib/trac-wiki/env.rb
CHANGED
@@ -131,10 +131,16 @@ module TracWiki
|
|
131
131
|
cur = cur[subkey.to_i]
|
132
132
|
else
|
133
133
|
#print "at(#{key})->: default"
|
134
|
-
|
134
|
+
cur = nil
|
135
135
|
end
|
136
136
|
#print "at(#{key}) -> default\n" if cur.nil?
|
137
|
-
|
137
|
+
if cur.nil?
|
138
|
+
if ! @parser.at_callback.nil?
|
139
|
+
val = @parser.at_callback.call(key, @env)
|
140
|
+
return val if ! val.nil?
|
141
|
+
end
|
142
|
+
return default
|
143
|
+
end
|
138
144
|
end
|
139
145
|
#rint "at(#{key})->#{cur}\n"
|
140
146
|
to_str ? cur.to_s : cur
|
data/lib/trac-wiki/parser.rb
CHANGED
@@ -125,6 +125,9 @@ module TracWiki
|
|
125
125
|
# result fo `template_handler('myCoolMacro') inserted
|
126
126
|
attr_accessor :template_handler
|
127
127
|
|
128
|
+
# Proc or nil
|
129
|
+
# at_callback.call(env, key) -> computed value
|
130
|
+
attr_accessor :at_callback
|
128
131
|
|
129
132
|
# macro {{$var}} | {{#comment}} | {{!cmd}} | {{template}} | {{/template}}
|
130
133
|
# string begins with macro
|
@@ -136,6 +139,7 @@ module TracWiki
|
|
136
139
|
# Create a new Parser instance.
|
137
140
|
def initialize(options = {})
|
138
141
|
init_macros
|
142
|
+
@at_callback = nil
|
139
143
|
@env = Env.new(self)
|
140
144
|
@macros = true
|
141
145
|
@allowed_schemes = %w(http https ftp ftps)
|
data/lib/trac-wiki/version.rb
CHANGED
data/test/parser_test.rb
CHANGED
@@ -10,12 +10,14 @@ class Bacon::Context
|
|
10
10
|
options[:template_handler] = self.method(:template_handler)
|
11
11
|
|
12
12
|
parser = TracWiki.parser(options)
|
13
|
+
parser.at_callback = Proc.new { |k,env| k == 'MEOW' ? 'WUF' : nil }
|
13
14
|
html.should.equal parser.to_html(wiki)
|
14
15
|
end
|
15
16
|
def env(wiki, var, val,options = {})
|
16
17
|
options[:macro_commands] = { '!print' => proc { |env| env.arg(0) + '! ' }, }
|
17
18
|
options[:template_handler] = self.method(:template_handler)
|
18
19
|
parser = TracWiki.parser(options)
|
20
|
+
parser.at_callback = Proc.new { |k,env| k == 'MEOW' ? 'HAF' : nil }
|
19
21
|
parser.to_html(wiki)
|
20
22
|
parser.env.at(var).should.equal val
|
21
23
|
end
|
@@ -1217,6 +1219,11 @@ eos
|
|
1217
1219
|
tc "<div class=\"AHOJ\">TEST</div>\n", "{{!set ahoj|AHOJ}}<div class=\"{{$ahoj}}\">TEST</div></p>\n", allow_html: true
|
1218
1220
|
tc "<div class=\"**AHOJ**\">TEST</div>\n", "{{!set ahoj|AHOJ}}<div class=\"**{{$ahoj}}**\">TEST</div></p>\n", allow_html: true
|
1219
1221
|
end
|
1222
|
+
it 'should parse at_callback ' do
|
1223
|
+
tc "<p>WUF</p>\n", "{{$MEOW|meow}}\n"
|
1224
|
+
tc "<p>meow</p>\n", "{{$UNKVAR|meow}}\n"
|
1225
|
+
tc "<p>cat:</p>\n", "cat:{{$UNKVAR}}\n"
|
1226
|
+
end
|
1220
1227
|
it 'should parse data-* ' do
|
1221
1228
|
tc "<div data-coffie=\"tea\">TEST</div>\n", "<div data-coffie=\"tea\">TEST</div>\n", allow_html: true
|
1222
1229
|
tc "<div data-coffie-break=\"tea\">TEST</div>\n", "<div data-coffie-break=\"tea\">TEST</div>\n", allow_html: true
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trac-wiki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vitas Stradal
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bacon
|