Class: Mixlib::Install::ArtifactInfo
- Inherits:
-
Object
- Object
- Mixlib::Install::ArtifactInfo
- Defined in:
- lib/mixlib/install/artifact_info.rb
Constant Summary collapse
- ATTRIBUTES =
%w{ architecture license license_content md5 platform platform_version product_description product_name sha1 sha256 software_dependencies url version }.freeze
Class Method Summary collapse
Instance Method Summary collapse
- #appx_artifact? ⇒ Boolean
- #clone_with(data) ⇒ Object
-
#initialize(data) ⇒ ArtifactInfo
constructor
A new instance of ArtifactInfo.
- #to_hash ⇒ Object
Constructor Details
#initialize(data) ⇒ ArtifactInfo
Returns a new instance of ArtifactInfo.
42 43 44 45 46 47 |
# File 'lib/mixlib/install/artifact_info.rb', line 42 def initialize(data) # Create an instance variable for each attribute ATTRIBUTES.each do |attribute| instance_variable_set("@#{attribute}", data[attribute.to_sym]) end end |
Class Method Details
.from_json(json, platform_info) ⇒ Object
49 50 51 |
# File 'lib/mixlib/install/artifact_info.rb', line 49 def self.from_json(json, platform_info) ArtifactInfo.new(JSON.parse(json, symbolize_names: true).merge(platform_info)) end |
.from_metadata_map(json) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/mixlib/install/artifact_info.rb', line 53 def self.(json) artifacts = [] JSON.parse(json, symbolize_names: true).each do |p, p_data| p_data.each do |pv, pv_data| pv_data.each do |m, | artifacts << ArtifactInfo.new(.merge( platform: p, platform_version: pv, architecture: m )) end end end artifacts end |
Instance Method Details
#appx_artifact? ⇒ Boolean
80 81 82 |
# File 'lib/mixlib/install/artifact_info.rb', line 80 def appx_artifact? url.end_with?(".appx") end |
#clone_with(data) ⇒ Object
76 77 78 |
# File 'lib/mixlib/install/artifact_info.rb', line 76 def clone_with(data) ArtifactInfo.new(to_hash.merge(data)) end |
#to_hash ⇒ Object
71 72 73 74 |
# File 'lib/mixlib/install/artifact_info.rb', line 71 def to_hash # Create a Hash of the instance data Hash[ATTRIBUTES.map { |attribute| [attribute.to_sym, eval(attribute)] }] end |