Я работаю с пинпадом RS232 и хочу создать для него класс, который наследует от serialport gem , чтобы я мог использовать методы, которые выставляет gem serialport, например each_byte, при абстрагировании некоторых подробности при записи на ЖК-дисплей клавиатуры.
Проблема, с которой я столкнулся, состоит в том, что гем serialport определяет метод класса с именем new, который, похоже, препятствует запуску моего initialize
метода.
class SerialPort
def SerialPort::new(port, *params)
#some code here
end
end
require 'serialport'
class Pinpad < SerialPort
attr_reader :test
def initialize
@test = "success"
end
end
kp = Keypad.new()
puts kp.x #should be "success", will be nil
Я попытался определить свой собственный метод класса с именем new def Pinpad::new
, который, по крайней мере, позволяет мне переопределить метод SerialPort::new
, но все равно не вызывает код в моем методе initialize
.
Я новичок в Ruby, поэтому решение, вероятно, тривиально, но я бы очень признателен за помощь.