class Packager::Struct::Command

Attributes

default_executable[RW]

Public Class Methods

new(*args) click to toggle source
Calls superclass method
# File lib/packager/struct.rb, line 54
def initialize(*args)
  super(*args)
  self.source ||= 'empty'
  self.executable ||= self.class.default_executable || 'fpm'
  self.directories ||= {}

  @unique_mappers = {
    :requires => '--depends',
    :provides => '--provides',
    :before_install => '--before-install',
    :after_install  => '--after-install',
    :before_remove  => '--before-remove',
    :after_remove   => '--after-remove',
    :before_upgrade => '--before-upgrade',
    :after_upgrade  => '--after-upgrade',
  }

  @unique_mappers.keys.each {|i| self[i] ||= [] }
end

Public Instance Methods

add_directory(*items) click to toggle source
# File lib/packager/struct.rb, line 74
def add_directory(*items)
  self.source = 'dir'
  items.each do |item|
    directories[item] = true
  end
end
to_system() click to toggle source
# File lib/packager/struct.rb, line 81
def to_system
  cmd = [
    executable,
    '--name', name,
    '--version', version,
  ]

  @unique_mappers.each do |element, flag|
    self[element].uniq.each do |item|
      cmd.concat([flag, item])
    end
  end

  cmd.concat(['-s', source, '-t', target])
  cmd.concat(directories.keys)

  return cmd
end