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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f0729913a338313c2d4290cc8db08930c5c13c2e
4
- data.tar.gz: fa73337b194bb00d5640e42aadf8e01edbae7e17
3
+ metadata.gz: e3306b978054949f4004ba4c663c0d6044837de5
4
+ data.tar.gz: e785ffcf805bdefce3b3060ba8e0f40d2aac81b0
5
5
  SHA512:
6
- metadata.gz: 1b78cbed07fca24eae191903486aaf4b7ad8d2143aa8c617fb11869ebc5ea150d0f3a04a86ea9664c5fe17be8b6b9600b0d39e509f7120c7224cd1ceab45ed93
7
- data.tar.gz: 8b1fd543f8ad24dbeabcb4de1960cdf713959590c129e394f10f8f117c5bc1452a7ba036cfd7679c870bfc2378974ec55f6c9a91d17fe23e48693f0476663351
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.1'
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rmwiki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - bigwheel