class Occi::Core::Categories

Attributes

model[RW]

Public Class Methods

new(categories=[]) click to toggle source
Calls superclass method
# File lib/occi/core/categories.rb, line 17
def initialize(categories=[])
  categories.collect! { |category| convert category } if categories
  super categories
end

Public Instance Methods

<<(category) click to toggle source
Calls superclass method
# File lib/occi/core/categories.rb, line 22
def <<(category)
  category = convert(category)
  category.model = @model if @model && !category.kind_of?(String)

  super(category)
end
as_json(options={}) click to toggle source

@param [Hash] options @return [Hashie::Mash] json representation

# File lib/occi/core/categories.rb, line 51
def as_json(options={})
  self.to_a.as_json
end
check() click to toggle source
# File lib/occi/core/categories.rb, line 55
def check
  each { |category| category.check }
end
collect!() { |o| ... } click to toggle source
# File lib/occi/core/categories.rb, line 10
def collect!
  block_given? or return enum_for(__method__)
  set = self.class.new
  each { |o| set << yield(o) }
  replace(set)
end
join(separator) click to toggle source
# File lib/occi/core/categories.rb, line 29
def join(separator)
  self.to_a.join(separator)
end
model=(model) click to toggle source

@param [Occi::Model] model @return [Occi::Model]

# File lib/occi/core/categories.rb, line 43
def model=(model)
  @model = model
  each { |category| category.model = model }
  collect! { |category| model.get_by_id(category.to_s) || category }
end

Private Instance Methods

convert(category) click to toggle source
# File lib/occi/core/categories.rb, line 61
def convert(category)
  if category.kind_of?(String) && @model
    @model.get_by_id(category) || category
  else
    category
  end
end