Sha256: 3529077d36cbb1d99574c05dfda2d7712c1c07a62eff994de069b5a1f6e9dc2b
Contents?: true
Size: 1.94 KB
Versions: 7
Compression:
Stored size: 1.94 KB
Contents
module Vedeu # This module is included in Vedeu::Interface to provide means to store client # application views created with {Vedeu.renders} or {Vedeu.views}. # module DisplayBuffer include Vedeu::Common # Store the view and immediate refresh it; causing to be pushed to the # Terminal. # # @return [Vedeu::Interface] def store_immediate store_deferred Vedeu::Refresh.by_name(name) self end # When a name is given, the view is stored with this name. This view will be # shown next time the refresh event is triggered for the interface. # # @raise [Vedeu::InvalidSyntax] The name is not defined. # @return [Vedeu::Interface] def store_deferred unless present?(name) fail Vedeu::InvalidSyntax, 'Cannot store an interface without a name.' end store_new_buffer self end private # Registers a set of buffers for the interface unless already registered, # and also adds interface's name to list of focussable interfaces. # # @see Vedeu::Buffer # @return [Vedeu::Interface] def store_new_buffer if Vedeu.buffers.registered?(name) Vedeu.buffers.find(name).add(self) else Vedeu::Buffer.new(name: name, back: self).store end self end # Registers interface name in focus list unless already registered. # # @return [Vedeu::Interface] def store_focusable Vedeu.focusable.add(name) unless Vedeu.focusable.registered?(name) self end # Registers a new cursor for the interface unless already registered. # # @return [Vedeu::Interface] def store_cursor Vedeu.cursors.by_name(name) self end # Registers a new group for the interface unless already registered. # # @return [Vedeu::Interface] def store_group Vedeu.groups.by_name(group).add(name) if group? self end end # DisplayBuffer end # Vedeu
Version data entries
7 entries across 7 versions & 1 rubygems