Class: Stf::DeviceList
- Inherits:
-
Object
- Object
- Stf::DeviceList
- Defined in:
- lib/stf/model/device_list.rb
Overview
can not inherite from Array because words.steveklabnik.com/beware-subclassing-ruby-core-classes
Instance Method Summary collapse
- #asArray ⇒ Object
- #asConnectUrlList ⇒ Object
- #byFilter(filter) ⇒ Object
- #empty? ⇒ Boolean
- #exceptFilter(filter) ⇒ Object
- #filterReadyToConnect ⇒ Object
-
#initialize(devices) ⇒ DeviceList
constructor
A new instance of DeviceList.
- #reject ⇒ Object
- #select ⇒ Object
- #size ⇒ Object
Constructor Details
#initialize(devices) ⇒ DeviceList
Returns a new instance of DeviceList.
6 7 8 9 10 11 12 |
# File 'lib/stf/model/device_list.rb', line 6 def initialize(devices) if devices.nil? @devices = Array.new else @devices = devices.map {|d| (d.kind_of? Device) ? d : Device.new(d)} end end |
Instance Method Details
#asArray ⇒ Object
47 48 49 |
# File 'lib/stf/model/device_list.rb', line 47 def asArray @devices end |
#asConnectUrlList ⇒ Object
26 27 28 |
# File 'lib/stf/model/device_list.rb', line 26 def asConnectUrlList @devices.map {|d| d.remoteConnectUrl} end |
#byFilter(filter) ⇒ Object
14 15 16 |
# File 'lib/stf/model/device_list.rb', line 14 def byFilter(filter) filter ? select {|d| d.checkFilter(filter)} : Array.new end |
#empty? ⇒ Boolean
39 40 41 |
# File 'lib/stf/model/device_list.rb', line 39 def empty? @devices.empty? end |
#exceptFilter(filter) ⇒ Object
18 19 20 |
# File 'lib/stf/model/device_list.rb', line 18 def exceptFilter(filter) filter ? reject {|d| d.checkFilter(filter)} : this end |
#filterReadyToConnect ⇒ Object
22 23 24 |
# File 'lib/stf/model/device_list.rb', line 22 def filterReadyToConnect select {|d| d.ready == true && d.present == true && d.usage.nil? } end |
#reject ⇒ Object
34 35 36 37 |
# File 'lib/stf/model/device_list.rb', line 34 def reject # DeviceList.new(@devices.reject {|d| yield(d)}) DeviceList.new(@devices.select {|d| !yield(d)}) end |
#select ⇒ Object
30 31 32 |
# File 'lib/stf/model/device_list.rb', line 30 def select DeviceList.new(@devices.select {|d| yield(d)}) end |
#size ⇒ Object
43 44 45 |
# File 'lib/stf/model/device_list.rb', line 43 def size @devices.size end |