Sha256: 0c8b60af6525a7cd8b4d13420e0d7946d2f27919101abbda7fc9dca0c2ee10c6
Contents?: true
Size: 1.31 KB
Versions: 4
Compression:
Stored size: 1.31 KB
Contents
module Vedeu # Provides information about the content within an interface or view. # class Content extend Forwardable def_delegators :interface, :lines?, :lines, :geometry def_delegators :geometry, :height, :width, :x, :y # Returns a new instance of Vedeu::Content. # # @param interface [Vedeu::Interface] # @return [Vedeu::Content] def initialize(interface) @interface = interface end # Returns the height of the content, or when no content, the visible height # of the interface. # # @return [Fixnum] def yn [rows, height].max end # Returns the width of the content, or when no content, the visible width of # the interface. # # @return [Fixnum] def xn [columns, width].max end private # @!attribute [r] interface # @return [Vedeu::Interface] attr_reader :interface # Returns the number of lines of content for this interface. # # @return [Fixnum] def rows return height unless lines? lines.size end # Returns the character length of the longest line for this interface. # # @return [Fixnum] def columns return width unless lines? lines.map { |line| line.size }.max end end # Content end # Vedeu
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.4.13 | lib/vedeu/geometry/content.rb |
vedeu-0.4.12 | lib/vedeu/geometry/content.rb |
vedeu-0.4.11 | lib/vedeu/geometry/content.rb |
vedeu-0.4.10 | lib/vedeu/geometry/content.rb |