Module: UniMIDI::CongruousApiAdapter::Device::ClassMethods
- Defined in:
- lib/unimidi/congruous_api_adapter.rb
Instance Method Summary collapse
-
#all ⇒ Object
returns all devices in an array.
-
#all_by_type ⇒ Object
returns all devices as a hash as such { :input => [input devices], :output => [output devices] }.
- #defer_to(klass) ⇒ Object
-
#first(*a) ⇒ Object
returns the first device for this class.
- #input_class(klass) ⇒ Object
-
#last(*a) ⇒ Object
returns the last device for this class.
- #output_class(klass) ⇒ Object
Instance Method Details
#all ⇒ Object
returns all devices in an array
59 60 61 |
# File 'lib/unimidi/congruous_api_adapter.rb', line 59 def all all_by_type.values.flatten end |
#all_by_type ⇒ Object
returns all devices as a hash as such
{ :input => [input devices], :output => [output devices] }
65 66 67 68 69 70 |
# File 'lib/unimidi/congruous_api_adapter.rb', line 65 def all_by_type { :input => @deference[self].all_by_type[:input].map { |d| @input_class.new(d) }, :output => @deference[self].all_by_type[:output].map { |d| @output_class.new(d) } } end |
#defer_to(klass) ⇒ Object
72 73 74 75 |
# File 'lib/unimidi/congruous_api_adapter.rb', line 72 def defer_to(klass) @deference ||= {} @deference[self] = klass end |
#first(*a) ⇒ Object
returns the first device for this class
45 46 47 48 49 |
# File 'lib/unimidi/congruous_api_adapter.rb', line 45 def first(*a) dev = @deference[self].first(*a) raise 'Device not found' if dev.nil? new(dev) end |
#input_class(klass) ⇒ Object
77 78 79 |
# File 'lib/unimidi/congruous_api_adapter.rb', line 77 def input_class(klass) @input_class = klass end |
#last(*a) ⇒ Object
returns the last device for this class
52 53 54 55 56 |
# File 'lib/unimidi/congruous_api_adapter.rb', line 52 def last(*a) dev = @deference[self].last(*a) raise 'Device not found' if dev.nil? new(dev) end |
#output_class(klass) ⇒ Object
81 82 83 |
# File 'lib/unimidi/congruous_api_adapter.rb', line 81 def output_class(klass) @output_class = klass end |