rmwiki 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rmwiki.rb +18 -0
- data/rmwiki.gemspec +1 -1
- data/spec/rmwiki_spec.rb +19 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e3306b978054949f4004ba4c663c0d6044837de5
|
4
|
+
data.tar.gz: e785ffcf805bdefce3b3060ba8e0f40d2aac81b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56c8208cd0609c80b6a981d46468ccfcf597f082b53b2eec762bf42fd002b8490f6fecae34682c1953b6c89d71b7855c045803bb043179d1ff142fb4af16cb0a
|
7
|
+
data.tar.gz: 7a3b0d59190f6c92d5d5c1956af7e75903f8c42f5d671fc6d8af56ffb73925f40fc45dbf2501bdb53fc5f18163b5596c56691ce356dce327ec8b77829fcf98c2
|
data/lib/rmwiki.rb
CHANGED
@@ -44,6 +44,24 @@ class Rmwiki
|
|
44
44
|
}
|
45
45
|
end
|
46
46
|
|
47
|
+
def all_page_tree
|
48
|
+
def sub_page_tree all_pages, page_title
|
49
|
+
def all_pages.select_child_pages parent_title
|
50
|
+
self.select { |page| page.parent_title == parent_title }
|
51
|
+
end
|
52
|
+
pages = all_pages.select_child_pages(page_title).map { |page|
|
53
|
+
page.instance_variable_set(:@children, sub_page_tree(all_pages, page.title))
|
54
|
+
def page.children
|
55
|
+
@children
|
56
|
+
end
|
57
|
+
page
|
58
|
+
}
|
59
|
+
Hash[pages.map { |page| [page.title, page] }]
|
60
|
+
end
|
61
|
+
|
62
|
+
sub_page_tree(self.all_pages, nil)
|
63
|
+
end
|
64
|
+
|
47
65
|
def page page_title
|
48
66
|
response = @http_client.get(File.join(@wiki_root, URI::escape(page_title) + '.json'))
|
49
67
|
|
data/rmwiki.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'rmwiki'
|
7
|
-
spec.version = '0.0.
|
7
|
+
spec.version = '0.0.2'
|
8
8
|
spec.authors = ['bigwheel']
|
9
9
|
spec.email = ['k.bigwheel+eng@gmail.com']
|
10
10
|
spec.summary = %q{redmine wiki manupilator}
|
data/spec/rmwiki_spec.rb
CHANGED
@@ -104,5 +104,24 @@ describe Rmwiki do
|
|
104
104
|
@subject.rename('Parentless', 'Parentless', 'not_exist_page')
|
105
105
|
}.to raise_error
|
106
106
|
end
|
107
|
+
|
108
|
+
describe '#all_page_tree' do
|
109
|
+
subject { @subject.all_page_tree }
|
110
|
+
|
111
|
+
it '親のないページ一覧がroot下へ収まってる' do
|
112
|
+
expect(subject.map { |_, page| page.title }).
|
113
|
+
to eq(['A', 'Parentless', 'Space_b', 'Wiki'])
|
114
|
+
end
|
115
|
+
|
116
|
+
it 'Wikiページ下のページ一覧が正しくある' do
|
117
|
+
expect(subject['Wiki'].children.map { |_, page| page.title }).
|
118
|
+
to eq(['Parent', 'Space_a', 'Space_In', '日本語'])
|
119
|
+
end
|
120
|
+
|
121
|
+
it 'Parentページ下のページ一覧が正しくある' do
|
122
|
+
expect(subject['Wiki'].children['Parent'].children.map { |_, page| page.title }).
|
123
|
+
to eq(['C', 'Child'])
|
124
|
+
end
|
125
|
+
end
|
107
126
|
end
|
108
127
|
end
|