Class: PodBuilder::InstallResult

Inherits:
Object
  • Object
show all
Defined in:
lib/pod_builder/install.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(licenses = [], prebuilt_info = Hash.new) ⇒ InstallResult

Returns a new instance of InstallResult.



111
112
113
114
# File 'lib/pod_builder/install.rb', line 111

def initialize(licenses = [], prebuilt_info = Hash.new)
  @licenses = licenses
  @prebuilt_info = prebuilt_info
end

Instance Attribute Details

#licensesArray<Hash> (readonly)

Returns The installed licenses.

Returns:

  • (Array<Hash>)

    The installed licenses



105
106
107
# File 'lib/pod_builder/install.rb', line 105

def licenses
  @licenses
end

#prebuilt_infoHash (readonly)

Returns A hash containing the expected prebuilt_info filename and content.

Returns:

  • (Hash)

    A hash containing the expected prebuilt_info filename and content



109
110
111
# File 'lib/pod_builder/install.rb', line 109

def prebuilt_info
  @prebuilt_info
end

Instance Method Details

#+(obj) ⇒ Object



116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'lib/pod_builder/install.rb', line 116

def +(obj) 
  merged_licenses = @licenses.dup + obj.licenses
  merged_prebuilt_info = @prebuilt_info.dup

  merged_prebuilt_info.each do |key, value|
    if obj.prebuilt_info.has_key?(key)
      specs = merged_prebuilt_info[key]["specs"] || []
      specs += (obj.prebuilt_info[key]["specs"] || [])
      merged_prebuilt_info[key]["specs"] = specs.uniq
    end
  end

  merged_prebuilt_info = obj.prebuilt_info.merge(merged_prebuilt_info)

  return InstallResult.new(merged_licenses, merged_prebuilt_info) 
end

#write_prebuilt_info_filesObject



133
134
135
136
137
# File 'lib/pod_builder/install.rb', line 133

def write_prebuilt_info_files
  prebuilt_info.each do |file_path, file_content|
    File.write(file_path, JSON.pretty_generate(file_content))
  end
end