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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2cc0af0b5c51c390aa590950accded35c88c6b39
4
- data.tar.gz: d0907cc3a0dc5a8a4e83555f4aa6366edad8ce3b
3
+ metadata.gz: 78e7c6394c7e42eec56bad4af297ccc8e66a4fb8
4
+ data.tar.gz: a30866e55c43ce02a45080859f0b67661b4c18ea
5
5
  SHA512:
6
- metadata.gz: c0043c157364338f8c99d2c1e63c4c0a0754913dbe78580174fec37a66e728f341b21adbb4a65ca6ca7a8dcee9e9a3d8531ffad3e8942e087a00fb90a8d41e9f
7
- data.tar.gz: 4408748ddc71a296aca9577c3e42af62beffab19e46d0f63975ea52f090bfa00be1a809a0dad13549b78cc86d6b6b2e62d561ed5a1e3ceb43d99d11bf598a13e
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
- return default
134
+ cur = nil
135
135
  end
136
136
  #print "at(#{key}) -> default\n" if cur.nil?
137
- return default if cur.nil?
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
@@ -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)
@@ -1,3 +1,3 @@
1
1
  module TracWiki
2
- VERSION = '0.3.21'
2
+ VERSION = '0.3.22'
3
3
  end
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.21
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-22 00:00:00.000000000 Z
11
+ date: 2014-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bacon