class AdminModule::Ppms

Attributes

page_factory[R]

Public Class Methods

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

Public Instance Methods

dups() click to toggle source
# File lib/admin_module/ppms.rb, line 24
def dups
  all_ppms = ppms_page.get_ppms_with_ids

  seen = Hash.new
  duplicates = Array.new

  all_ppms.each do |pdata|
    if seen.has_key?(pdata[:name])
      duplicates << pdata
      duplicates << seen[pdata[:name]]
    end

    seen[pdata[:name]] = pdata
  end

  duplicates.sort! { |a,b| a[:name] <=> b[:name] }
end
export(file_path) click to toggle source
# File lib/admin_module/ppms.rb, line 42
def export file_path
  File.open(file_path, 'w') do |f|
    f.write list.to_yaml
  end

rescue Exception => e
  if e.message.include? 'No such file or directory'
    raise IOError, "No such directory - #{file_path}"
  else
    raise e
  end
end
import(file_path) click to toggle source

Import lock configurations into the current environment from a file.

# File lib/admin_module/ppms.rb, line 58
def import file_path
  raise IOError, "File not found: #{file_path}" unless File.exists?(file_path)

  ppms = Array.new
  File.open(file_path, 'r') do |f|
    # Read array of PPM names
    ppms = YAML.load(f)
  end

  ppms_page
    .set_ppms_data(ppms)
    .save
end
list() click to toggle source
# File lib/admin_module/ppms.rb, line 20
def list
  ppms_page.get_ppms_data
end

Private Instance Methods

ppms_page() click to toggle source
# File lib/admin_module/ppms.rb, line 74
def ppms_page
  page_factory.ppms_page
end