Sha256: b73016340e48a67e086814a0bf108918fbcdac1259908044fcd71dcf4a2ad66b
Contents?: true
Size: 1.19 KB
Versions: 2
Compression:
Stored size: 1.19 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 # TODO: Rename to subarray 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.12 | lib/y_petri/simulation/nodes.rb |
y_petri-2.3.11 | lib/y_petri/simulation/nodes.rb |