Class: CIM::QualifierSet

Inherits:
Array
  • Object
show all
Defined in:
lib/cim/qualifier_set.rb

Overview

Set of Qualifier

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ QualifierSet

Returns a new instance of QualifierSet.



20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/cim/qualifier_set.rb', line 20

def initialize *args
  super 0
  args.flatten.each do |q|
	case q
	when QualifierDeclaration
	  q = Qualifier.new q
	when Qualifier
	  # nothing
	else
	  q = Qualifier.new(QualifierDeclaration.new q)
	end
	self << q
  end if args
end

Class Method Details

.normalize(type) ⇒ Object



15
16
17
# File 'lib/cim/qualifier_set.rb', line 15

def self.normalize type
  (type.is_a? self) ? type : self.new(type)
end

Instance Method Details

#[](qualifier, type = nil) ⇒ Object

get qualifier by name and type



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/cim/qualifier_set.rb', line 50

def [] qualifier,type=nil
  self.each do |q|
	unless type.nil?
	  next unless q.type == type
	end
#	puts "#{q} == #{qualifier}<#{type}>"
	return q if case qualifier
                   when CIM::Qualifier
q == qualifier.declaration
     when CIM::QualifierDeclaration
q == qualifier
     when String, Symbol
q.declaration == qualifier
     else
raise "Unknown parameter in #{self.class}[]"
     end
  end
  nil
end

#includes?(qualifier, type = nil) ⇒ Boolean Also known as: include?

check if qualifier exists

call-seq:

qualifier_set.includes?(qualifier) => bool
qualifier_set.includes?(qualifier_declaration) => bool
qualifier_set.includes?(:description) => bool
qualifier_set.includes?("description", :string) => bool

Returns:

  • (Boolean)


43
44
45
# File 'lib/cim/qualifier_set.rb', line 43

def includes? qualifier,type=nil
  (self[qualifier,type]) ? true : false
end

#to_sObject

returns a string representation in MOF syntax format



72
73
74
75
76
# File 'lib/cim/qualifier_set.rb', line 72

def to_s
  return "" if self.empty?
  q = self.join(", ")
  return "[#{q}]"
end