caramelize 1.0.0 → 1.1.0

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
  SHA256:
3
- metadata.gz: 794ae829880cb349361e52ec4ca6a313e08c228aee66816e1be297b55dcc21f5
4
- data.tar.gz: a755af756c4a6b450166ecbb8ebd23b4dd24a9e840728ddb40d2b8e6e214f04b
3
+ metadata.gz: 033fa149f2fd6a1823143125c966ea4ce7ea45b4106dec98762f4764db0b3c09
4
+ data.tar.gz: 80c47ef70453d79d01979f9fada6987d4f91cc4101aae488d4b5cba21841016e
5
5
  SHA512:
6
- metadata.gz: 9a3b6071991c74dbc86218e7646a8cd09c90aba0e51708a7f698a0b38e3338f3ea95580822e316ddd3c7ad8ba28ee3ae8874bc3c6e3c65ca2838fd7943d44e43
7
- data.tar.gz: 8f6de4f36f2aca5a6b08c230a02f0a56e51bfb3f0e3cf1b57e04d052ee3ecd963d09845c0416b27b89b99a3f8ffafbfe4b43e1c04ceb5b596575be7d01f9eecd
6
+ metadata.gz: aed7b973e815bc6680210aef38f3519e6d46d45c10efd095126cce67edcd6d64cbd46bfd31b03cc68abf0f60bd8be57bf948d687f874a78fc8e37cb9a4a812a1
7
+ data.tar.gz: f9e3d0d1c1ba24c73d7f13699f71fb9d1abfb0022c9b42a5ed94a241bd88a09aab93f43bb69ba622f8e03a0ba1d85b92b97c7be1a7545a50886ce06536891203
data/README.md CHANGED
@@ -24,6 +24,11 @@ Creates a template configuration file "caramel.rb". This includes documentation
24
24
 
25
25
  Will start the wiki migration based on the configuration file. These are either found in predefined paths (./caramel.rb, ./config.rb, …), or passed as argument, as below.
26
26
 
27
+ $ caramelize doctor
28
+
29
+ Can be used to assess the quality of your wiki conversion. It'll help you see
30
+ how many wiki links may be broken and how many pages were orphaned.
31
+
27
32
  $ caramelize help
28
33
 
29
34
  Returns help information.
@@ -56,3 +56,20 @@ command :run do |c|
56
56
  say "Time required: #{Time.now - time_start} s"
57
57
  end
58
58
  end
59
+
60
+ command :doctor do |c|
61
+ c.syntax = 'caramelize doctor [options]'
62
+ c.summary = 'Run wiki transfer'
63
+ c.description = 'Run health-check'
64
+ c.option '--target STRING', String, 'The target path to Gollum git repository (default: wiki-export)'
65
+ c.example 'Run transfer for "caramel.rb"', 'caramelize doctor'
66
+ c.action do |args, options|
67
+ options.default(target: 'wiki-export')
68
+
69
+ if File.exists?(options.target)
70
+ Caramelize::HealthCheck.new(options.target).execute
71
+ else
72
+ say("No wiki repositry found in directory #{options.target}")
73
+ end
74
+ end
75
+ end
@@ -18,10 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency('mysql2')
22
21
  spec.add_dependency('commander')
23
- spec.add_dependency('ruby-progressbar')
24
22
  spec.add_dependency('gollum-lib')
23
+ spec.add_dependency('mysql2')
24
+ spec.add_dependency('ruby-progressbar')
25
25
 
26
26
  spec.add_development_dependency "bundler", "~> 1.6"
27
27
  spec.add_development_dependency "rake"
@@ -3,6 +3,7 @@ require 'caramelize/page'
3
3
  require 'caramelize/content_transferer'
4
4
  require 'caramelize/filter_processor'
5
5
  require 'caramelize/database_connector'
6
+ require 'caramelize/health_check'
6
7
  require 'caramelize/output_wiki/gollum'
7
8
  require 'caramelize/services/page_builder'
8
9
  require 'caramelize/input_wiki/wiki'
@@ -10,7 +10,7 @@ module Caramelize
10
10
  require 'caramelize/input_wiki/wikkawiki'
11
11
 
12
12
  class ContentTransferer
13
- attr_reader :input_wiki, :options, :filter_processor
13
+ attr_reader :input_wiki, :options
14
14
 
15
15
  DEFAULT_GOLLUM_HOME_TITLE = 'Home'.freeze
16
16
 
@@ -1,6 +1,3 @@
1
- require 'gollum-lib'
2
- require 'ruby-progressbar'
3
-
4
1
  module Caramelize
5
2
  class FilterProcessor
6
3
  attr_reader :filters, :input_wiki
@@ -1,6 +1,5 @@
1
1
  module Caramelize
2
2
  class SwapWikiLinks
3
-
4
3
  def initialize(body)
5
4
  @body = body
6
5
  end
@@ -9,18 +8,19 @@ module Caramelize
9
8
  def run
10
9
  migrated_body = @body.dup
11
10
 
12
- migrated_body.gsub!(/\[\[(\S+)\|(.+?)\]\]/, '[[\2|\1]]')
13
- migrated_body.gsub!(/\[\[([\w\s\.]*)\]\]/) do |s|
14
- if $1
15
- s = $1
16
- t = $1.dup
17
- t.gsub!(' ', '_')
18
- t.gsub!(/\./, '')
19
- s = "[[#{s}|#{t}]]"
20
- end
21
- end
11
+ migrated_body.gsub!(/\[\[(\S+)\|(.+?)\]\]/) { format_link($2, $1) }
12
+ migrated_body.gsub!(/\[\[([\w\s\-\.]*)\]\]/) { format_link($1, $1.dup) }
22
13
 
23
14
  migrated_body
24
15
  end
16
+
17
+ private
18
+
19
+ def format_link(label, link)
20
+ link.downcase!
21
+ link.gsub!(' ', '_')
22
+ link.gsub!(/\./, '')
23
+ "[[#{label}|#{link}]]"
24
+ end
25
25
  end
26
26
  end
@@ -0,0 +1,85 @@
1
+ module Caramelize
2
+ class HealthCheck
3
+ attr_reader :wiki_path, :options
4
+
5
+ DEFAULT_GOLLUM_HOME_TITLE = 'Home'.freeze
6
+
7
+ def initialize(wiki_path, options={})
8
+ @wiki_path = wiki_path
9
+ @options = options
10
+ end
11
+
12
+ def execute
13
+ #puts page_paths.sort.inspect
14
+
15
+ check_pages
16
+
17
+ #puts intra_wiki_paths.sort.inspect
18
+
19
+ puts "\n # Pages not linked within Wiki:"
20
+ puts page_paths_without_intra_wiki_path.sort.inspect
21
+ end
22
+
23
+ private
24
+
25
+ def files
26
+ @files ||= Dir.glob([wiki_path, '**/*.md'].join('/'))
27
+ end
28
+
29
+ def file_names
30
+ files.map do |file|
31
+ file.gsub("#{wiki_path}/", '').split('.').first
32
+ end
33
+ end
34
+
35
+ def check_pages
36
+ pages.each do |page|
37
+ puts "\n## #{page.path}"
38
+ check_page(page)
39
+ end
40
+ end
41
+
42
+ def check_page(page)
43
+ intra_wiki_links = intra_wiki_links(page.text_data)
44
+ available = 0
45
+ intra_wiki_links.each do |link|
46
+ intra_wiki_link = page.path.split('/').first == page.path ? link : [page.path.split('/').first, link].join('/')
47
+ if !page_paths.include?(intra_wiki_link)
48
+ puts "#{intra_wiki_link} expected, but missing"
49
+ else
50
+ available += 1
51
+ intra_wiki_paths << intra_wiki_link
52
+ end
53
+ end
54
+ puts "#{available}/#{intra_wiki_links.count} available"
55
+ end
56
+
57
+ def intra_wiki_links(body)
58
+ body.scan(/\[\[(.+\|)?(\S+)\]\]/).map { |match| match[1] }.uniq
59
+ end
60
+
61
+ def pages
62
+ gollum.pages
63
+ end
64
+
65
+ def page_paths
66
+ pages.map(&:path).map { |path| path.split('.').first }
67
+ end
68
+
69
+ def intra_wiki_paths
70
+ @intra_wiki_paths ||= []
71
+ end
72
+
73
+ def page_paths_without_intra_wiki_path
74
+ page_paths - intra_wiki_paths
75
+ end
76
+
77
+ def check_home_page
78
+ puts "Home.md missing" if File.exist?('wiki-export/Home.md')
79
+ end
80
+
81
+ def gollum
82
+ @gollum ||= ::Gollum::Wiki.new(wiki_path)
83
+ end
84
+ end
85
+ end
@@ -23,16 +23,13 @@ module Caramelize
23
23
  build_page(row_page)
24
24
  end
25
25
  titles.uniq!
26
- @latest_revisions.each { |rev| rev[1].set_latest }
27
26
  revisions.sort! { |a,b| a.time <=> b.time }
28
27
 
29
- # TODO find latest revision for each limit
30
-
31
28
  revisions
32
29
  end
33
30
 
34
31
  def read_authors
35
- results = database.query('SELECT id, login, mail FROM users;')
32
+ results = database.query(authors_query)
36
33
  results.each do |row|
37
34
  authors[row["id"]] = OpenStruct.new(id: row["id"],
38
35
  name: row["login"],
@@ -44,7 +41,7 @@ module Caramelize
44
41
  private
45
42
 
46
43
  def build_page(row_page)
47
- results_contents = database.query("SELECT * FROM wiki_content_versions WHERE page_id='#{row_page["id"]}' ORDER BY updated_on;")
44
+ results_contents = database.query(single_page_query(row_page['id']))
48
45
 
49
46
  wiki = wikis.select{ |row| row['id'] == row_page['wiki_id'] }.first
50
47
 
@@ -58,11 +55,9 @@ module Caramelize
58
55
  title = project_identifier + row_page['title']
59
56
  titles << title
60
57
 
61
- @latest_revisions = {}
62
58
  results_contents.each do |row_content|
63
59
  page = Page.new(build_properties(title, row_content))
64
60
  revisions << page
65
- @latest_revisions[title] = page
66
61
  end
67
62
  end
68
63
 
@@ -74,20 +69,40 @@ module Caramelize
74
69
  end
75
70
  end
76
71
 
72
+ def authors_query
73
+ 'SELECT id, login, mail FROM users;'
74
+ end
75
+
76
+ def single_page_query(page_id)
77
+ "SELECT * FROM wiki_content_versions WHERE page_id='#{page_id}' ORDER BY updated_on;"
78
+ end
79
+
80
+ def projects_query
81
+ 'SELECT id, identifier, name FROM projects;'
82
+ end
83
+
84
+ def pages_query
85
+ 'SELECT id, title, wiki_id FROM wiki_pages;'
86
+ end
87
+
88
+ def wikis_query
89
+ 'SELECT id, project_id FROM wikis;'
90
+ end
91
+
77
92
  def pages
78
- @pages ||= database.query('SELECT id, title, wiki_id FROM wiki_pages;')
93
+ @pages ||= database.query(pages_query)
79
94
  end
80
95
 
81
96
  def projects
82
- @projects ||= database.query('SELECT id, identifier, name FROM projects;')
97
+ @projects ||= database.query(projects_query)
83
98
  end
84
99
 
85
100
  def wikis
86
- @wikis ||= database.query('SELECT id, project_id FROM wikis;')
101
+ @wikis ||= database.query(wikis_query)
87
102
  end
88
103
 
89
104
  def build_properties(title, row_content)
90
- author = authors[row_content["author_id"]] ? authors[row_content["author_id"]] : nil
105
+ author = authors.fetch(row_content["author_id"], nil)
91
106
  {
92
107
  id: row_content['id'],
93
108
  title: title,
@@ -14,9 +14,8 @@ module Caramelize
14
14
  def revisions_by_title(title)
15
15
  # new array only containing pages by this name sorted by time asc
16
16
  # this does not support renamed pages
17
- return revisions
18
- .select { |revision| revision.title == title }
19
- .sort { |x,y| x.time <=> y.time }
17
+ revisions.select { |revision| revision.title == title }
18
+ .sort { |x,y| x.time <=> y.time }
20
19
  end
21
20
 
22
21
  # return an empty array in case this action was not overridden
@@ -49,13 +48,12 @@ module Caramelize
49
48
  end
50
49
 
51
50
  def latest_revisions
52
- titles.map { |title| revisions_by_title(title).last }.compact
51
+ @latest_revisions ||= titles.map { |title| revisions_by_title(title).last }.compact
53
52
  end
54
53
 
55
54
  def markup
56
55
  @options[:markup]
57
56
  end
58
-
59
57
  end
60
58
  end
61
59
  end
@@ -1,4 +1,3 @@
1
- require 'caramelize/input_wiki/wiki'
2
1
  require 'caramelize/database_connector'
3
2
  require 'caramelize/filters/wikka_to_markdown'
4
3
 
@@ -7,6 +6,9 @@ module Caramelize
7
6
  class WikkaWiki < Wiki
8
7
  include DatabaseConnector
9
8
 
9
+ SQL_PAGES = 'SELECT id, tag, body, time, latest, user, note FROM wikka_pages ORDER BY time;'.freeze
10
+ SQL_AUTHORS = 'SELECT name, email FROM wikka_users;'.freeze
11
+
10
12
  def initialize(options = {})
11
13
  super(options)
12
14
  @options[:markup] = :wikka
@@ -27,8 +29,7 @@ module Caramelize
27
29
  end
28
30
 
29
31
  def read_authors
30
- sql = 'SELECT name, email FROM wikka_users;'
31
- results = database.query(sql)
32
+ results = database.query(authors_query)
32
33
  results.each do |row|
33
34
  authors[row['name']] = OpenStruct.new(name: row['name'],
34
35
  email: row['email'] )
@@ -37,9 +38,16 @@ module Caramelize
37
38
 
38
39
  private
39
40
 
41
+ def pages_query
42
+ SQL_PAGES
43
+ end
44
+
45
+ def authors_query
46
+ SQL_AUTHORS
47
+ end
48
+
40
49
  def pages
41
- sql = 'SELECT id, tag, body, time, latest, user, note FROM wikka_pages ORDER BY time;'
42
- @pages ||= database.query(sql)
50
+ @pages ||= database.query(pages_query)
43
51
  end
44
52
 
45
53
  def build_properties(row)
@@ -1,3 +1,5 @@
1
+ require 'gollum-lib'
2
+
1
3
  module Caramelize
2
4
  module OutputWiki
3
5
  class Gollum
@@ -17,12 +19,12 @@ module Caramelize
17
19
  # Commit the given page into the gollum-wiki-repository.
18
20
  # Make sure the target markup is correct before calling this method.
19
21
  def commit_revision(page, markup)
20
- gollum_page = gollum.page(page.title)
22
+ gollum_page = gollum.page(page.path)
21
23
 
22
24
  if gollum_page
23
25
  gollum.update_page(gollum_page, gollum_page.name, gollum_page.format, page.body, build_commit(page))
24
26
  else
25
- gollum.write_page(page.title, markup, page.body, build_commit(page))
27
+ gollum.write_page(page.path, markup, page.body, build_commit(page))
26
28
  end
27
29
  end
28
30
 
@@ -4,14 +4,14 @@ module Caramelize
4
4
  attr_accessor :title, :body, :id, :markup, :latest, :time, :message,
5
5
  :author, :author_name
6
6
 
7
- def initialize(page={})
7
+ def initialize(page = {})
8
8
  @id = page[:id]
9
- @title = page[:title] || ""
10
- @body = page[:body] || ""
9
+ @title = page.fetch(:title, '')
10
+ @body = page.fetch(:body, '')
11
11
  @syntax = page[:markup]
12
12
  @latest = page[:latest] || false
13
- @time = page[:time] || Time.now
14
- @message = page[:message] || ""
13
+ @time = page.fetch(:time, Time.now)
14
+ @message = page.fetch(:message, '')
15
15
  @author = page[:author]
16
16
  @author_name = page[:author_name]
17
17
  end
@@ -33,6 +33,11 @@ module Caramelize
33
33
  @latest
34
34
  end
35
35
 
36
+ def path
37
+ return @title unless @title.index('/')
38
+ @title.split('/').first + '/' + @title.split('/').last.downcase
39
+ end
40
+
36
41
  def set_latest
37
42
  @latest = true
38
43
  end
@@ -7,7 +7,7 @@ module Caramelize
7
7
  namespaces.each do |namespace|
8
8
  # TODO change wiki as configurable default home
9
9
  # TODO support other markup syntaxes
10
- body << "* [[#{namespace[:name]}|#{namespace[:identifier]}/Wiki]] \n"
10
+ body << "* [[#{namespace[:name]}|#{namespace[:identifier]}/wiki]] \n"
11
11
  end
12
12
 
13
13
  Page.new(title: "Home",
@@ -1,3 +1,3 @@
1
1
  module Caramelize
2
- VERSION = '1.0.0'
2
+ VERSION = '1.1.0'
3
3
  end
@@ -6,13 +6,13 @@ h2. The 1994 Formula One Season
6
6
  *[[Race by Race|race-by-race]]*
7
7
  *[[Technical Regulations|technical-regulations]]*
8
8
  *[[Technical Rule Changes|technical-rules]]*
9
- *[[HD Rear Wing Configurations|HD-rear-wings]]*
9
+ *[[HD Rear Wing Configurations|hd-rear-wings]]*
10
10
  *[[Helmet variants|helmets]]*
11
11
 
12
12
  h2. Development
13
13
 
14
- *[[Review Process F1 1994|Review_Process_F1_1994]]*
15
- *[[Credits|Credits]]*
14
+ *[[Review Process F1 1994|review_process_f1_1994]]*
15
+ *[[Credits|credits]]*
16
16
 
17
17
  h2. Season data
18
18
 
@@ -22,36 +22,36 @@ Early season package
22
22
  Driver list from Brazil: "Discussion here":http://forum.ctdp.net/viewtopic.php?f=214&t=62989
23
23
 
24
24
  |_.Nr|_.Driver |_.Team|
25
- |0|Damon Hill |/2.[[Williams-Renault|Williams]]|
25
+ |0|Damon Hill |/2.[[Williams-Renault|williams]]|
26
26
  |2|Ayrton Senna |
27
- |3|Ukyo Katayama |/2.[[Tyrrell-Yamaha|Tyrrell]]|
27
+ |3|Ukyo Katayama |/2.[[Tyrrell-Yamaha|tyrrell]]|
28
28
  |4|Mark Blundell |
29
- |5|Michael Schumacher|/2.[[Benetton-Ford|Benetton]]|
29
+ |5|Michael Schumacher|/2.[[Benetton-Ford|benetton]]|
30
30
  |6|Jos Verstappen |
31
- |7|Mika Häkkinen |/2.[[McLaren-Peugeot|McLaren]]|
31
+ |7|Mika Häkkinen |/2.[[McLaren-Peugeot|mclaren]]|
32
32
  |8|Martin Brundle |
33
- |9|Christian Fittipaldi|/2.[[Footwork-Ford|Footwork]]|
33
+ |9|Christian Fittipaldi|/2.[[Footwork-Ford|footwork]]|
34
34
  |10|Gianni Morbidelli|
35
- |11|Pedro Lamy |/2.[[Lotus-Mugen-Honda|Lotus]]|
35
+ |11|Pedro Lamy |/2.[[Lotus-Mugen-Honda|lotus]]|
36
36
  |12|Johnny Herbert |
37
- |14|Rubens Barrichello|/2.[[Jordan-Hart|Jordan]]|
37
+ |14|Rubens Barrichello|/2.[[Jordan-Hart|jordan]]|
38
38
  |15|Eddie Irvine |
39
- |19|Olivier Beretta |/2.[[Larrousse-Ford|Larrousse]]|
39
+ |19|Olivier Beretta |/2.[[Larrousse-Ford|larrousse]]|
40
40
  |20|Érik Comas |
41
- |23|Pierluigi Martini|/2.[[Minardi-Ford|Minardi]]|
41
+ |23|Pierluigi Martini|/2.[[Minardi-Ford|minardi]]|
42
42
  |24|Michele Alboreto |
43
- |25|Éric Bernard |/2.[[Ligier-Renault|Ligier]]|
43
+ |25|Éric Bernard |/2.[[Ligier-Renault|ligier]]|
44
44
  |26|Olivier Panis |
45
- |27|Jean Alesi |/2.[[Ferrari|Ferrari]]|
45
+ |27|Jean Alesi |/2.[[Ferrari|ferrari]]|
46
46
  |28|Gerhard Berger |
47
- |29|Karl Wendlinger |/2.[[Sauber-Mercedes|Sauber]]|
47
+ |29|Karl Wendlinger |/2.[[Sauber-Mercedes|sauber]]|
48
48
  |30|Heinz-Harald Frentzen|
49
- |31|David Brabham |/2.[[Simtek-Ford|Simtek]]|
49
+ |31|David Brabham |/2.[[Simtek-Ford|simtek]]|
50
50
  |32|Roland Ratzenberger|
51
- |33|Paul Belmondo |/2.[[Pacific-Ilmor|Pacific]]|
51
+ |33|Paul Belmondo |/2.[[Pacific-Ilmor|pacific]]|
52
52
  |34|Bertrand Gachot |
53
53
 
54
54
 
55
- [[Getting new people|Getting_new_people]]
55
+ [[Getting new people|getting_new_people]]
56
56
 
57
- [[Contact form|Contact_form]]
57
+ [[Contact form|contact_form]]
@@ -17,15 +17,15 @@ describe Caramelize::SwapWikiLinks do
17
17
  let(:body) { '[[Release 1 0]]' }
18
18
 
19
19
  it 'replaces space with dashes' do
20
- is_expected.to eq '[[Release 1 0|Release_1_0]]'
20
+ is_expected.to eq '[[Release 1 0|release_1_0]]'
21
21
  end
22
22
  end
23
23
 
24
24
  context 'wiki title with dashes' do
25
- let(:body) { '[[Release 1.0]]' }
25
+ let(:body) { '[[Release-1.0]]' }
26
26
 
27
27
  it 'removes dots' do
28
- is_expected.to eq '[[Release 1.0|Release_10]]'
28
+ is_expected.to eq '[[Release-1.0|release-10]]'
29
29
  end
30
30
  end
31
31
 
@@ -33,7 +33,7 @@ describe Caramelize::SwapWikiLinks do
33
33
  let(:body) { '[[Intra wiki link]]' }
34
34
 
35
35
  it 'simples link to hyperlink' do
36
- is_expected.to eq '[[Intra wiki link|Intra_wiki_link]]'
36
+ is_expected.to eq '[[Intra wiki link|intra_wiki_link]]'
37
37
  end
38
38
 
39
39
  context 'replace in full file' do
@@ -17,7 +17,7 @@ describe Caramelize::InputWiki::Wiki do
17
17
 
18
18
  context 'pages with revisions' do
19
19
  it 'returns list of latest pages' do
20
- wiki.titles = ['allosaurus', 'brachiosaurus']
20
+ wiki.titles = %w[allosaurus brachiosaurus]
21
21
  allow(wiki).to receive(:revisions_by_title)
22
22
  .with('allosaurus').and_return([page1, page2])
23
23
  allow(wiki).to receive(:revisions_by_title)
@@ -14,7 +14,8 @@ describe Caramelize::OutputWiki::Gollum do
14
14
  body: 'body',
15
15
  commit_message: 'done',
16
16
  time: Time.now,
17
- title: title)
17
+ title: title,
18
+ path: title)
18
19
  end
19
20
  let(:gollum_page) do
20
21
  double(:gollum_page,
@@ -4,8 +4,9 @@ describe Caramelize::Page do
4
4
 
5
5
  let(:message) { 'Dinosaurs really had feathers, do not forget!' }
6
6
  let(:author) { OpenStruct.new(name: 'Jeff Goldblum', email: 'jeff.g@example.com') }
7
+ let(:title){ 'Feathered Dinosaurs' }
7
8
  subject(:page) do
8
- Caramelize::Page.new( title: 'Feathered Dinosaurs',
9
+ Caramelize::Page.new(title: title,
9
10
  message: message,
10
11
  time: Time.parse('2015-02-12'),
11
12
  body: 'Dinosaurs are awesome and have feathers!',
@@ -31,6 +32,23 @@ describe Caramelize::Page do
31
32
  end
32
33
  end
33
34
 
35
+ describe '#path' do
36
+ context "title is 'Home'" do
37
+ let(:title) { 'Home' }
38
+ it { expect(page.path).to eq 'Home'}
39
+ end
40
+
41
+ context "title is 'Feathered Dinosaurs'" do
42
+ it { expect(page.path).to eq 'Feathered Dinosaurs'}
43
+ end
44
+
45
+ context "title is 'Space/Feathered Dinosaurs'" do
46
+ let(:title) { 'Space/Feathered Dinosaurs' }
47
+ it { expect(page.path).to eq 'Space/feathered dinosaurs'}
48
+ end
49
+ end
50
+
51
+
34
52
  describe '#commit_message' do
35
53
  context 'page has message' do
36
54
  it 'uses page.title' do
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caramelize
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Senff
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-30 00:00:00.000000000 Z
11
+ date: 2020-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: mysql2
14
+ name: commander
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: commander
28
+ name: gollum-lib
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: ruby-progressbar
42
+ name: mysql2
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: gollum-lib
56
+ name: ruby-progressbar
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -190,6 +190,7 @@ files:
190
190
  - lib/caramelize/filters/remove_table_tab_line_endings.rb
191
191
  - lib/caramelize/filters/swap_wiki_links.rb
192
192
  - lib/caramelize/filters/wikka_to_markdown.rb
193
+ - lib/caramelize/health_check.rb
193
194
  - lib/caramelize/input_wiki/redmine_wiki.rb
194
195
  - lib/caramelize/input_wiki/wiki.rb
195
196
  - lib/caramelize/input_wiki/wikkawiki.rb
@@ -215,7 +216,7 @@ homepage: http://github.com/Dahie/caramelize
215
216
  licenses:
216
217
  - MIT
217
218
  metadata: {}
218
- post_install_message:
219
+ post_install_message:
219
220
  rdoc_options: []
220
221
  require_paths:
221
222
  - lib
@@ -231,7 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
231
232
  version: '0'
232
233
  requirements: []
233
234
  rubygems_version: 3.0.8
234
- signing_key:
235
+ signing_key:
235
236
  specification_version: 4
236
237
  summary: Flexible and modular wiki conversion tool
237
238
  test_files: