trac-wiki 0.3.21 → 0.3.22
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.
- 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
|