clwiki 2.1.7 → 2.1.8
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/cl_wiki/file.rb +15 -7
- data/lib/cl_wiki/version.rb +1 -1
- data/test/dummy/log/test.log +78 -0
- data/test/lib/clwiki/file_test.rb +13 -0
- data/test/lib/clwiki/test_base.rb +6 -1
- 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: f84cec3fab1f7ecb7ac62119bbe082fbbb9fe4f0
|
4
|
+
data.tar.gz: eee6a2eb5655c377bc6e9459474baa14676ea850
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a24293e23531ea25fb1516ce3a5b5271a6bb2312c7aa8f867c3b134180b70be2c45771e548fea4dad77930c0178433f9ee55aa8464d75ffc051a560ef7df0483
|
7
|
+
data.tar.gz: a98cd414bc6c3d60e9a03d49a005b9f563dc260fde53b123f9a132cdb0496e052e7d324ef94a008bd45e839bf7ad27641f967e12db20a574078a2c8fc6ceab30
|
data/lib/cl_wiki/file.rb
CHANGED
@@ -7,7 +7,7 @@ $wikiPageExt = '.txt'
|
|
7
7
|
|
8
8
|
module ClWiki
|
9
9
|
class File
|
10
|
-
attr_reader :name, :fileExt, :wikiRootPath, :pagePath, :modTimeAtLastRead
|
10
|
+
attr_reader :name, :fileExt, :wikiRootPath, :pagePath, :modTimeAtLastRead, :metadata
|
11
11
|
attr_accessor :clientLastReadModTime
|
12
12
|
|
13
13
|
def initialize(fullPageName, wikiRootPath, fileExt=$wikiPageExt, autocreate=true)
|
@@ -19,6 +19,7 @@ module ClWiki
|
|
19
19
|
@pagePath = '/' if @pagePath == '.'
|
20
20
|
@fileExt = fileExt
|
21
21
|
@metadata = {}
|
22
|
+
@metadata_keys = ['mtime']
|
22
23
|
if autocreate
|
23
24
|
if file_exists?
|
24
25
|
readFile
|
@@ -121,25 +122,32 @@ module ClWiki
|
|
121
122
|
raw_lines.each_with_index do |ln, index|
|
122
123
|
if ln.chomp.empty?
|
123
124
|
next_line = raw_lines[index+1]
|
124
|
-
if
|
125
|
-
all_lines_are_metadata_lines(raw_lines[0..index-1])
|
126
|
-
|
125
|
+
if next_line.nil? || next_line.chomp.empty?
|
126
|
+
if all_lines_are_metadata_lines(raw_lines[0..index-1])
|
127
|
+
start_index = index + 2
|
128
|
+
end
|
127
129
|
break
|
128
130
|
end
|
129
131
|
end
|
130
132
|
end
|
131
|
-
|
133
|
+
|
134
|
+
if start_index > 0
|
135
|
+
[raw_lines[0..start_index-3], raw_lines[start_index..-1]]
|
136
|
+
else
|
137
|
+
[[], raw_lines]
|
138
|
+
end
|
132
139
|
end
|
133
140
|
|
134
141
|
def all_lines_are_metadata_lines(lines)
|
135
|
-
lines.map { |ln| ln
|
142
|
+
lines.map { |ln| ln.scan(/\A(\w+):?/) }.flatten.
|
143
|
+
map { |k| @metadata_keys.include?(k) }.uniq == [true]
|
136
144
|
end
|
137
145
|
|
138
146
|
def read_metadata(lines)
|
139
147
|
@metadata = {}
|
140
148
|
lines.each do |ln|
|
141
149
|
key, value = ln.split(': ')
|
142
|
-
@metadata[key] = value
|
150
|
+
@metadata[key] = value if @metadata_keys.include?(key)
|
143
151
|
end
|
144
152
|
end
|
145
153
|
|
data/lib/cl_wiki/version.rb
CHANGED
data/test/dummy/log/test.log
CHANGED
@@ -3327,3 +3327,81 @@ Processing by ClWiki::PageController#show as HTML
|
|
3327
3327
|
Redirected to http://test.host/wiki/FrontPage
|
3328
3328
|
Filter chain halted as :redirect_to_front_page_if_bad_name rendered or redirected
|
3329
3329
|
Completed 302 Found in 0ms
|
3330
|
+
Started GET "/wiki/clwikicgi.rb?use_route=cl_wiki&page=%2FChrisMorris&edit=true" for 127.0.0.1 at 2015-09-23 00:10:46 -0500
|
3331
|
+
Processing by ClWiki::PageController#show as HTML
|
3332
|
+
Parameters: {"use_route"=>"cl_wiki", "page"=>"/ChrisMorris", "edit"=>"true"}
|
3333
|
+
Redirected to http://www.example.com/wiki/ChrisMorris/edit
|
3334
|
+
Filter chain halted as :redirect_legacy_cgi_urls rendered or redirected
|
3335
|
+
Completed 301 Moved Permanently in 10ms
|
3336
|
+
Started GET "/wiki/clwikicgi.rb?use_route=cl_wiki&page=%2FSomeParent%2FDotTest" for 127.0.0.1 at 2015-09-23 00:10:46 -0500
|
3337
|
+
Processing by ClWiki::PageController#show as HTML
|
3338
|
+
Parameters: {"use_route"=>"cl_wiki", "page"=>"/SomeParent/DotTest"}
|
3339
|
+
Redirected to http://www.example.com/wiki/DotTest
|
3340
|
+
Filter chain halted as :redirect_legacy_cgi_urls rendered or redirected
|
3341
|
+
Completed 301 Moved Permanently in 0ms
|
3342
|
+
Started GET "/wiki/clwikicgi.rb?use_route=cl_wiki&page=ChrisMorris" for 127.0.0.1 at 2015-09-23 00:10:46 -0500
|
3343
|
+
Processing by ClWiki::PageController#show as HTML
|
3344
|
+
Parameters: {"use_route"=>"cl_wiki", "page"=>"ChrisMorris"}
|
3345
|
+
Redirected to http://www.example.com/wiki/ChrisMorris
|
3346
|
+
Filter chain halted as :redirect_legacy_cgi_urls rendered or redirected
|
3347
|
+
Completed 301 Moved Permanently in 0ms
|
3348
|
+
Started GET "/wiki/clwikicgi.rb?use_route=cl_wiki&page=%2FChrisMorris" for 127.0.0.1 at 2015-09-23 00:10:46 -0500
|
3349
|
+
Processing by ClWiki::PageController#show as HTML
|
3350
|
+
Parameters: {"use_route"=>"cl_wiki", "page"=>"/ChrisMorris"}
|
3351
|
+
Redirected to http://www.example.com/wiki/ChrisMorris
|
3352
|
+
Filter chain halted as :redirect_legacy_cgi_urls rendered or redirected
|
3353
|
+
Completed 301 Moved Permanently in 0ms
|
3354
|
+
Processing by ClWiki::PageController#recent as RSS
|
3355
|
+
Rendered /Users/chrismo/modev/clwiki/app/views/cl_wiki/page/recent.rss.builder (0.2ms)
|
3356
|
+
Completed 200 OK in 15ms (Views: 11.9ms)
|
3357
|
+
Processing by ClWiki::PageController#show as HTML
|
3358
|
+
Parameters: {"page_name"=>"NewPage"}
|
3359
|
+
Redirected to http://test.host/wiki/FrontPage
|
3360
|
+
Filter chain halted as :redirect_to_front_page_if_bad_name rendered or redirected
|
3361
|
+
Completed 302 Found in 1ms
|
3362
|
+
Processing by ClWiki::PageController#edit as HTML
|
3363
|
+
Parameters: {"page_name"=>"NewPage"}
|
3364
|
+
Rendered /Users/chrismo/modev/clwiki/app/views/cl_wiki/page/edit.html.erb within layouts/cl_wiki/application (0.2ms)
|
3365
|
+
Completed 200 OK in 6ms (Views: 4.7ms)
|
3366
|
+
Processing by ClWiki::PageController#update as HTML
|
3367
|
+
Parameters: {"page_content"=>"NewPage content", "client_mod_time"=>"1442985046", "save_and_edit"=>true, "page_name"=>"NewPage"}
|
3368
|
+
Redirected to http://test.host/wiki/NewPage/edit
|
3369
|
+
Completed 302 Found in 2ms (Views: 4.7ms)
|
3370
|
+
Processing by ClWiki::PageController#recent as HTML
|
3371
|
+
Rendered /Users/chrismo/modev/clwiki/app/views/cl_wiki/page/recent.html.erb within layouts/cl_wiki/application (0.2ms)
|
3372
|
+
Completed 200 OK in 4ms (Views: 2.0ms)
|
3373
|
+
Processing by ClWiki::PageController#recent as HTML
|
3374
|
+
Rendered /Users/chrismo/modev/clwiki/app/views/cl_wiki/page/recent.html.erb within layouts/cl_wiki/application (0.2ms)
|
3375
|
+
Completed 200 OK in 2ms (Views: 0.8ms)
|
3376
|
+
Processing by ClWiki::PageController#find as HTML
|
3377
|
+
Parameters: {"search_text"=>"sheep"}
|
3378
|
+
Rendered /Users/chrismo/modev/clwiki/app/views/cl_wiki/page/find.html.erb within layouts/cl_wiki/application (0.2ms)
|
3379
|
+
Completed 200 OK in 3ms (Views: 2.1ms)
|
3380
|
+
Processing by ClWiki::PageController#show as HTML
|
3381
|
+
Parameters: {"page_name"=>"NewPage"}
|
3382
|
+
Rendered /Users/chrismo/modev/clwiki/app/views/cl_wiki/page/show.html.erb within layouts/cl_wiki/application (0.2ms)
|
3383
|
+
Completed 200 OK in 4ms (Views: 2.2ms)
|
3384
|
+
Processing by ClWiki::PageController#show as HTML
|
3385
|
+
Redirected to http://test.host/wiki/FrontPage
|
3386
|
+
Filter chain halted as :redirect_to_front_page_if_bad_name rendered or redirected
|
3387
|
+
Completed 302 Found in 0ms
|
3388
|
+
Processing by ClWiki::PageController#find as HTML
|
3389
|
+
Rendered /Users/chrismo/modev/clwiki/app/views/cl_wiki/page/find.html.erb within layouts/cl_wiki/application (0.2ms)
|
3390
|
+
Completed 200 OK in 1ms (Views: 0.6ms)
|
3391
|
+
Processing by ClWiki::PageController#edit as HTML
|
3392
|
+
Parameters: {"page_name"=>"NewPage"}
|
3393
|
+
Rendered /Users/chrismo/modev/clwiki/app/views/cl_wiki/page/edit.html.erb within layouts/cl_wiki/application (0.2ms)
|
3394
|
+
Completed 200 OK in 2ms (Views: 0.8ms)
|
3395
|
+
Processing by ClWiki::PageController#update as HTML
|
3396
|
+
Parameters: {"page_content"=>"NewPage content", "client_mod_time"=>"1442985046", "page_name"=>"NewPage"}
|
3397
|
+
Redirected to http://test.host/wiki/NewPage
|
3398
|
+
Completed 302 Found in 2ms (Views: 0.8ms)
|
3399
|
+
Processing by ClWiki::PageController#edit as HTML
|
3400
|
+
Parameters: {"page_name"=>"NewPage"}
|
3401
|
+
Rendered /Users/chrismo/modev/clwiki/app/views/cl_wiki/page/edit.html.erb within layouts/cl_wiki/application (0.2ms)
|
3402
|
+
Completed 200 OK in 2ms (Views: 0.7ms)
|
3403
|
+
Processing by ClWiki::PageController#show as HTML
|
3404
|
+
Parameters: {"page_name"=>"notavalidname"}
|
3405
|
+
Redirected to http://test.host/wiki/FrontPage
|
3406
|
+
Filter chain halted as :redirect_to_front_page_if_bad_name rendered or redirected
|
3407
|
+
Completed 302 Found in 0ms
|
@@ -108,5 +108,18 @@ class TestClWikiFile < TestBase
|
|
108
108
|
end
|
109
109
|
wiki_file = ClWiki::File.new("/LegacyPage", @test_wiki_path)
|
110
110
|
assert_equal "First line\n\n\nAfter the big break\n", wiki_file.content.join
|
111
|
+
assert_equal({}, wiki_file.metadata)
|
112
|
+
end
|
113
|
+
|
114
|
+
def test_mid_mtime_not_parsed_as_metadata
|
115
|
+
File.open(File.join(@test_wiki_path, 'LegacyPage.txt'), 'w') do |f|
|
116
|
+
f.puts "a"
|
117
|
+
f.puts "mtime: 2015-09-22"
|
118
|
+
f.puts "\n\n"
|
119
|
+
f.puts "b"
|
120
|
+
end
|
121
|
+
wiki_file = ClWiki::File.new("/LegacyPage", @test_wiki_path)
|
122
|
+
assert_equal "a\nmtime: 2015-09-22\n\n\nb\n", wiki_file.content.join
|
123
|
+
assert_equal({}, wiki_file.metadata)
|
111
124
|
end
|
112
125
|
end
|
@@ -15,7 +15,12 @@ class TestBase < TempDirTest
|
|
15
15
|
$wiki_conf.wiki_path = $wiki_path
|
16
16
|
$wiki_conf.useIndex = ClWiki::Configuration::USE_INDEX_NO
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
|
+
def override_wiki_path(path)
|
20
|
+
$wiki_path = path
|
21
|
+
$wiki_conf.wiki_path = path
|
22
|
+
end
|
23
|
+
|
19
24
|
# to ward off the new Test::Unit detection of classes with no test
|
20
25
|
# methods
|
21
26
|
def default_test
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clwiki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- chrismo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: clutil
|