Sha256: 39bf3c86c18c0ae18c482abd02ed5a90391e98ebd57ad1c5138662e0aefcf9af
Contents?: true
Size: 1.3 KB
Versions: 2
Compression:
Stored size: 1.3 KB
Contents
module VagrantPlugins module Cosmic module Model class CosmicResource attr_accessor :id, :name, :details attr_reader :kind def initialize(id, name, kind) raise 'Resource must have a kind' if kind.nil? || kind.empty? @id = id @name = name @kind = kind end def is_undefined? is_id_undefined? and is_name_undefined? end def is_id_undefined? id.nil? || id.empty? end def is_name_undefined? name.nil? || name.empty? end def to_s "#{kind} - #{id || '<unknown id>'}:#{name || '<unknown name>'}" end def self.create_list(ids, names, kind) return create_id_list(ids, kind) unless ids.empty? return create_name_list(names, kind) unless names.empty? [] end def self.create_id_list(ids, kind) ids.each_with_object([]) do |id, resources| resources << CosmicResource.new(id, nil, kind) end end def self.create_name_list(names, kind) names.each_with_object([]) do |name, resources| resources << CosmicResource.new(nil, name, kind) end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
vagrant-cosmic-0.2.0 | lib/vagrant-cosmic/model/cosmic_resource.rb |
vagrant-cosmic-0.1.0 | lib/vagrant-cosmic/model/cosmic_resource.rb |