Sha256: 0b349820079adf997601ca9ad5fd736f7dfbbbed6acbca13b9e5f970d64802bf
Contents?: true
Size: 854 Bytes
Versions: 1
Compression:
Stored size: 854 Bytes
Contents
module Vedeu class NotImplementedError < StandardError; end class Interface def initialize(options = {}) @options = options end def initial_state raise NotImplementedError, 'Subclasses implement this method.' end def input evaluate end def output(command) Compositor.arrange(command, self) end def geometry @geometry ||= Geometry.new(options[:geometry]) end private attr_reader :options def evaluate Commands.execute(read) end def read Terminal.input end def options defaults.merge!(@options) end def defaults { geometry: { y: 1, x: 1, width: :auto, height: :auto } } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.0.9 | lib/vedeu/interface/interface.rb |