class AdminModule::Guideline

Attributes

page_factory[R]

Public Class Methods

new(page_factory) click to toggle source
# File lib/admin_module/guideline.rb, line 17
def initialize(page_factory)
  @page_factory = page_factory
end

Public Instance Methods

deploy(srcdir, comments = nil) click to toggle source
# File lib/admin_module/guideline.rb, line 21
def deploy srcdir, comments = nil
  files = Pathname(srcdir).each_child.select { |f| f.file? && f.extname == '.xml' }

  files.each do |file|
    deploy_file file, comments
  end
end
deploy_file(xmlfile, comments = nil) click to toggle source
# File lib/admin_module/guideline.rb, line 29
def deploy_file xmlfile, comments = nil
  gdlname = mapped_guideline(xmlfile)

  page = guidelines_page
    .open_guideline(gdlname)
    .add_version
    .upload(xmlfile.expand_path, comments_or_default(comments))
end
download(gdlname, xmlfile) click to toggle source
# File lib/admin_module/guideline.rb, line 38
def download gdlname, xmlfile
  xmlfile = Pathname(xmlfile)

  page = guidelines_page
    .open_guideline(gdlname)
    .download(xmlfile.expand_path)
end
version(gdls, comments = nil) click to toggle source
# File lib/admin_module/guideline.rb, line 46
def version gdls, comments = nil
  gdls = Array(gdls)
  page = guidelines_page
    .version_all

  gdl_list = page.get_guidelines

  version_list = []
  not_found_list = []
  gdls.each do |gdl|
    if gdl_list.include? gdl
      version_list << gdl
    else
      mapped_name = mapped_guideline gdl
      if mapped_name.nil?
        not_found_list << gdl
      else
        version_list << mapped_name
      end
    end
  end

  if not_found_list.count > 0
    puts "Can't find the following guidelines in the available list:"
    not_found_list.each do |nf|
      puts "  #{nf}"
    end
    return page
  end

  page.version(version_list, comments_or_default(comments))
end

Private Instance Methods

comments_or_default(comments) click to toggle source
# File lib/admin_module/guideline.rb, line 89
def comments_or_default comments
  return AdminModule.configuration.default_comment if comments.nil? || comments.empty?
  comments
end
guidelines_page() click to toggle source
# File lib/admin_module/guideline.rb, line 81
def guidelines_page
  page_factory.guidelines_page
end
mapped_guideline(xmlfile) click to toggle source
# File lib/admin_module/guideline.rb, line 85
def mapped_guideline xmlfile
  AdminModule.configuration.xmlmap Pathname(xmlfile).basename('.xml').to_s
end