Class: Packager::Struct::Command

Inherits:
Object
  • Object
show all
Defined in:
lib/packager/struct.rb

Class Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Command

Returns a new instance of Command.



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# 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

Class Attribute Details

.default_executableObject

Returns the value of attribute default_executable.



51
52
53
# File 'lib/packager/struct.rb', line 51

def default_executable
  @default_executable
end

Instance Method Details

#add_directory(*items) ⇒ Object



74
75
76
77
78
79
# File 'lib/packager/struct.rb', line 74

def add_directory(*items)
  self.source = 'dir'
  items.each do |item|
    directories[item] = true
  end
end

#to_systemObject



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# 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