class Caramelize::ContentTransferer
Constants
- DEFAULT_GOLLUM_HOME_TITLE
Attributes
input_wiki[R]
options[R]
Public Class Methods
new(input_wiki, options)
click to toggle source
# File lib/caramelize/content_transferer.rb, line 17 def initialize(input_wiki, options) @input_wiki = input_wiki @options = options options[:default_author] = options.fetch(:default_author, "Caramelize") options[:markup] = target_markup end
Public Instance Methods
execute()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 25 def execute input_wiki.read_authors commit_history if verbose? puts "From markup: #{input_wiki.markup.to_s}" puts "To markup: #{target_markup.to_s}" puts "Convert latest revisions:" end migrate_markup_of_latest_revisions puts 'Create Namespace Overview' if verbose? create_overview_page_of_namespaces if options[:create_namespace_overview] rename_home_page end
Private Instance Methods
commit_history()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 101 def commit_history output_wiki.commit_history(revisions, options) do |page, index| if verbose? puts "(#{index + 1}/#{revisions_count}) #{page.time} #{page.title}" else commit_history_progress_bar.increment end end end
commit_history_progress_bar()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 89 def commit_history_progress_bar @commit_history_progress_bar ||= ProgressBar.create(title: "Revisions", total: revisions_count) end
create_overview_page_of_namespaces()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 79 def create_overview_page_of_namespaces output_wiki.commit_namespace_overview(input_wiki.namespaces) end
filter_processor()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 63 def filter_processor @filter_processor ||= FilterProcessor.new(input_wiki) end
latest_revisions_count()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 75 def latest_revisions_count input_wiki.latest_revisions.count end
migrate_markup_of_latest_revisions()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 95 def migrate_markup_of_latest_revisions input_wiki.latest_revisions.each do |revision| migrate_markup_of_revision(revision) end end
migrate_markup_of_revision(revision)
click to toggle source
# File lib/caramelize/content_transferer.rb, line 111 def migrate_markup_of_revision(revision) if verbose? puts "Filter source: #{revision.title} #{revision.time}" else migrate_markup_progress_bar.increment end body_new = filter_processor.run(revision.body) unless body_new == revision.body revision.body = body_new revision.author_name = 'Caramelize' revision.time = Time.now revision.author = nil revision.message = "Markup of '#{revision.title}' converted to #{target_markup}" # commit as latest page revision output_wiki.commit_revision(revision, options[:markup]) end end
migrate_markup_progress_bar()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 83 def migrate_markup_progress_bar @migrate_markup_progress_bar ||= ProgressBar.create(title: "Markup filters", total: latest_revisions_count) end
needs_conversion_to_target_markup?()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 51 def needs_conversion_to_target_markup? output_wiki.supported_markup.index(input_wiki.markup) end
output_wiki()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 59 def output_wiki @output_wiki ||= OutputWiki::Gollum.new(options[:target]) end
rename_home_page()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 132 def rename_home_page output_wiki.rename_page(options[:home_page_title], DEFAULT_GOLLUM_HOME_TITLE) end
revisions()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 55 def revisions @revisions ||= input_wiki.read_pages end
revisions_count()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 71 def revisions_count revisions.count end
target_markup()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 46 def target_markup @target_markup ||= needs_conversion_to_target_markup? ? input_wiki.markup : :markdown end
verbose?()
click to toggle source
# File lib/caramelize/content_transferer.rb, line 67 def verbose? options[:verbose] end