Class: Logicuit::Signals::SignalGroup

Inherits:
Object
  • Object
show all
Defined in:
lib/logicuit/signals/signal_group.rb

Overview

Signal Group

Instance Method Summary collapse

Constructor Details

#initialize(*signals) ⇒ SignalGroup

Returns a new instance of SignalGroup.



7
8
9
# File 'lib/logicuit/signals/signal_group.rb', line 7

def initialize(*signals)
  @signals = signals
end

Instance Method Details

#connects_to(others) ⇒ Object Also known as: >>



15
16
17
18
# File 'lib/logicuit/signals/signal_group.rb', line 15

def connects_to(others)
  others = others.signals if others.is_a?(SignalGroup)
  @signals.zip(others).each { _1 >> _2 unless _1.nil? || _2.nil? }
end

#signalsObject



11
12
13
# File 'lib/logicuit/signals/signal_group.rb', line 11

def signals
  @signals.dup
end

#to_sObject



21
22
23
# File 'lib/logicuit/signals/signal_group.rb', line 21

def to_s
  signals.map { it.current ? "1" : "0" }.join
end