/instiki/svnpassword

To download this project, use:
bzr branch https://golem.ph.utexas.edu/~distler/code/instiki/svn/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#require 'uri/common'
# A chunk is a pattern of text that can be protected
# and interrogated by a renderer. Each Chunk class has a 
# +pattern+ that states what sort of text it matches.
# Chunks are initalized by passing in the result of a
# match by its pattern. 
module Chunk
 class Abstract
# Rails's default utf-8 support causes problems here. So, for Chunk::Abstract class, turn off
# multibyte character support.
 $KCODE = 'n' unless ''.respond_to?(:force_encoding)
 # automatically construct the array of derivatives of Chunk::Abstract
 @derivatives = [] 
 class << self 
 attr_reader :derivatives 
 end 
 
 def self::inherited( klass ) 
 Abstract::derivatives << klass 
 end 
 
 # the class name part of the mask strings
 def self.mask_string
 self.to_s.delete(':').downcase
 end
 # a regexp that matches all chunk_types masks
 def Abstract::mask_re(chunk_types)
 chunk_classes = chunk_types.map{|klass| klass.mask_string}.join("|")
 /chunk(-?\d+)(#{chunk_classes})chunk/
 end
 
 attr_reader :text, :unmask_text, :unmask_mode
 def initialize(match_data, content) 
 @text = match_data[0] 
 @content = content
 @unmask_mode = :normal
 end
 # Find all the chunks of the given type in content
 # Each time the pattern is matched, create a new
 # chunk for it, and replace the occurrence of the chunk
 # in this content with its mask.
 def self.apply_to(content)
 text = content.to_str
 text.gsub!( self.pattern ) do |match|
 new_chunk = self.new($~, content)
 content.add_chunk(new_chunk)
 new_chunk.mask
 end
 content.replace text
 end
 # should contain only [a-z0-9]
 def mask
 @mask ||= "chunk#{self.object_id}#{self.class.mask_string}chunk"
 end
 def unmask
 @content.replace @content.sub(mask){|s| s.replace @unmask_text}
 end
 def rendered?
 @unmask_mode == :normal
 end
 def escaped?
 @unmask_mode == :escape
 end
 def revert
 @content.replace @content.sub(mask){|s| s.replace @text}
 # unregister
 @content.delete_chunk(self)
 end
 end
end

AltStyle によって変換されたページ (->オリジナル) /