Sha256: eb8b03e35d91730c97b7a2afbd6cb91a7b2c288efbd3e3337830711bf3f64ed0
Contents?: true
Size: 2 KB
Versions: 1
Compression:
Stored size: 2 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 [Interface] def store_immediate store_deferred Vedeu::Refresh.by_name(name) self end # Store the view if it has a name. This view will be shown next time the # refresh event is triggered for the interface. # # @raise [InvalidSyntax] The name is not defined. # @return [Interface] def store_deferred unless defined_value?(name) fail 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 [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 [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 [Interface] def store_cursor Vedeu::Cursor.new(name: name).store unless Vedeu.cursors.registered?(name) self end # Registers a new group for the interface unless already registered. # # @return [Interface] def store_group unless group.nil? || group.empty? || Vedeu.groups.registered?(group) Vedeu::Group.new(members: name, name: group).store end self end end # DisplayBuffer end # Vedeu
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.4.19 | lib/vedeu/buffers/display_buffer.rb |