Class: Buildizer::Target::Fpm

Inherits:
Base
  • Object
show all
Includes:
PackageNameMod
Defined in:
lib/buildizer/target/fpm.rb

Instance Attribute Summary

Attributes inherited from Base

#build_image, #builder, #cache_image, #os, #params, #test_image

Instance Method Summary collapse

Methods included from PackageNameMod

#container_package_name, #package_release, #package_upstream_version

Methods inherited from Base

#_package_cloud_path, #base_package_name, #build_image_name, #build_image_tag, #cache_image_name, #container_package_archive_name, #container_package_archive_path, #container_package_name, #container_package_path, #image_build_path, #image_extra_path, #maintainer_email, #method_missing, #package_cloud, #package_version, #package_version_tag, #test_env, #test_image_name

Constructor Details

#initialize(builder, os, fpm_script: [], fpm_config_files: {}, fpm_files: {}, fpm_conflicts: [], fpm_replaces: {}, fpm_provides: [], fpm_depends: [], fpm_description: nil, fpm_url: nil, **kwargs, &blk) ⇒ Fpm

Returns a new instance of Fpm.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/buildizer/target/fpm.rb', line 6

def initialize(builder, os,
               fpm_script: [], fpm_config_files: {}, fpm_files: {},
               fpm_conflicts: [], fpm_replaces: {}, fpm_provides: [],
               fpm_depends: [], fpm_description: nil, fpm_url: nil, **kwargs, &blk)
  super(builder, os, **kwargs) do
    params[:fpm_script] = fpm_script
    params[:fpm_config_files] = fpm_config_files
    params[:fpm_files] = fpm_files
    params[:fpm_conflicts] = fpm_conflicts
    params[:fpm_replaces] = fpm_replaces
    params[:fpm_provides] = fpm_provides
    params[:fpm_depends] = fpm_depends
    params[:fpm_description] = fpm_description
    params[:fpm_url] = fpm_url

    yield if block_given?
  end
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Buildizer::Target::Base

Instance Method Details

#_expand_files_directive(files) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
# File 'lib/buildizer/target/fpm.rb', line 41

def _expand_files_directive(files)
  files.reduce({}) do |res, (dst, src)|
    if src.is_a? Array
      res.merge src.map {|src_file| [File.join(dst, src_file), src_file]}.to_h
    elsif src.nil?
      res.merge dst => File.basename(dst)
    else
      res.merge dst => src
    end
  end
end

#fpm_config_files_expandObject



33
34
35
# File 'lib/buildizer/target/fpm.rb', line 33

def fpm_config_files_expand
  _expand_files_directive fpm_config_files
end

#fpm_files_expandObject



37
38
39
# File 'lib/buildizer/target/fpm.rb', line 37

def fpm_files_expand
  _expand_files_directive fpm_files
end

#image_work_pathObject



25
26
27
# File 'lib/buildizer/target/fpm.rb', line 25

def image_work_path
  builder.work_path.join('fpm').join(package_name).join(package_version).join(name)
end

#package_version_tag_param_nameObject



29
30
31
# File 'lib/buildizer/target/fpm.rb', line 29

def package_version_tag_param_name
  :package_version
end