Sha256: 65cf17662bc9befc7ca8a4baa40548a6e950e6ae4be8af113b9a0e820cf016e8
Contents?: true
Size: 1.15 KB
Versions: 2
Compression:
Stored size: 1.15 KB
Contents
# encoding: utf-8 class YPetri::Simulation # An array of simulation owned places and/or transitions. # class Nodes < Array ★ Dependency class << self # New collection constructor # def load collection new.tap { |inst| inst.load collection } end end delegate :simulation, to: "self.class" # Loads nodes to this collection. # def load nodes nodes.each{ |node| push node } end # Creates a subset of this collection (of the same class). # def subset nodes=nil, &block if block_given? then fail ArgumentError, "If block given, arguments not allowed!" unless nodes.nil? self.class.load select( &block ) else fail ArgumentError, "A collection or a block expected!" if nodes.nil? nn = Nodes( nodes ) nn.all? { |node| include? node } or fail TypeError, "All subset elements must be in the collection." self.class.load( nn ) end end # Returns an array of the node sources (nodes in the underlying net). # def sources map &:source end alias to_sources sources end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
y_petri-2.3.3 | lib/y_petri/simulation/nodes.rb |
y_petri-2.3.2 | lib/y_petri/simulation/nodes.rb |