rmwiki 0.0.1 → 0.0.2
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/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
|