Class: Y2Network::S390GroupDevicesCollection
- Inherits:
-
Object
- Object
- Y2Network::S390GroupDevicesCollection
- Extended by:
- Forwardable
- Includes:
- CanBeCopied, Yast2::Equatable, Yast::Logger
- Defined in:
- src/lib/y2network/s390_group_devices_collection.rb
Overview
A container for network devices.
Objects of this class are able to keep a list of s390 group devices and perform simple queries on such a list.
Instance Attribute Summary collapse
-
#devices ⇒ Array<S390GroupDevice>
(also: #to_a)
readonly
List of devices.
Instance Method Summary collapse
-
#by_id(id) ⇒ S390GroupDevice?
Returns an s390 group device with the given id if present.
-
#by_type(type) ⇒ S390GroupDevicesCollection
Returns list of devices of given type.
-
#delete_if(&block) ⇒ S390GroupDevicesCollection
Deletes elements which meet a given condition.
- #eql_hash ⇒ Object
-
#initialize(devices = []) ⇒ S390GroupDevicesCollection
constructor
Constructor.
Methods included from CanBeCopied
Constructor Details
#initialize(devices = []) ⇒ S390GroupDevicesCollection
Constructor
54 55 56 |
# File 'src/lib/y2network/s390_group_devices_collection.rb', line 54 def initialize(devices = []) @devices = devices end |
Instance Attribute Details
#devices ⇒ Array<S390GroupDevice> (readonly) Also known as: to_a
Returns List of devices.
43 44 45 |
# File 'src/lib/y2network/s390_group_devices_collection.rb', line 43 def devices @devices end |
Instance Method Details
#by_id(id) ⇒ S390GroupDevice?
Returns an s390 group device with the given id if present
68 69 70 |
# File 'src/lib/y2network/s390_group_devices_collection.rb', line 68 def by_id(id) devices.find { |device| device.id == id } end |
#by_type(type) ⇒ S390GroupDevicesCollection
Returns list of devices of given type
76 77 78 |
# File 'src/lib/y2network/s390_group_devices_collection.rb', line 76 def by_type(type) S390GroupDevicesCollection.new(devices.select { |d| d.type.short_name == type }) end |
#delete_if(&block) ⇒ S390GroupDevicesCollection
Deletes elements which meet a given condition
83 84 85 86 |
# File 'src/lib/y2network/s390_group_devices_collection.rb', line 83 def delete_if(&block) devices.delete_if(&block) self end |
#eql_hash ⇒ Object
58 59 60 61 62 |
# File 'src/lib/y2network/s390_group_devices_collection.rb', line 58 def eql_hash h = super h[:devices] = h[:devices].sort_by(&:hash) if h.keys.include?(:devices) h end |