class Simp::Metadata::Components

Attributes

engine[RW]
type[RW]
version[RW]

Public Class Methods

new(engine, version = nil, type = nil) click to toggle source
# File lib/simp/metadata/components.rb, line 9
def initialize(engine, version = nil, type = nil)
  @engine = engine
  @version = version
  @type = type
end

Public Instance Methods

[](index) click to toggle source
# File lib/simp/metadata/components.rb, line 29
def [](index)
  Simp::Metadata::Component.new(engine, index, version)
end
create(name, settings = {}) click to toggle source
# File lib/simp/metadata/components.rb, line 61
def create(name, settings = {})
  unless key?(name)
    engine.writable_source.components[name] = settings
    engine.writable_source.dirty = true
  end
end
each() { |self| ... } click to toggle source
# File lib/simp/metadata/components.rb, line 23
def each
  keys.each do |version|
    yield self[version]
  end
end
key?(name) click to toggle source
# File lib/simp/metadata/components.rb, line 33
def key?(name)
  keys.include?(name)
end
keys() click to toggle source
# File lib/simp/metadata/components.rb, line 37
def keys
  result = {}
  if version.nil?
    engine.sources.each do |_name, source|
      source.components.keys.each do |name|
        result[name] = true
      end
    end
  else
    engine.sources.each do |_name, source|
      if source.releases.key?(version)
        source.releases[version].each do |component, _data|
          result[component] = true
        end
      else
        source.release(version).each do |component, _data|
          result[component] = true
        end
      end
    end
  end
  result.keys
end
size() click to toggle source
# File lib/simp/metadata/components.rb, line 19
def size
  keys.size
end
to_s() click to toggle source
# File lib/simp/metadata/components.rb, line 15
def to_s
  keys.to_s
end