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 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