class Gpio def initialize(pin, prefix: "/sys/class/gpio") @pin = pin @prefix = prefix end attr_reader :pin, :prefix def export File.write("#{prefix}/export", pin) File.write("#{prefix}/gpio#{pin}/direction", "out") end def value File.read("#{prefix}/gpio#{pin}/value").strip == "1" ? true : false end def value=(value) File.write("#{prefix}/gpio#{pin}/value", value ? "1" : "0") end def toggle self.value = !value end end