Sha256: b27a2400438fa5a70dea20200466dbc9ae32846520c681a82335f35d8c658b49

Contents?: true

Size: 963 Bytes

Versions: 1

Compression:

Stored size: 963 Bytes

Contents

require 'vedeu/api/base'
require 'vedeu/api/stream'

module Vedeu
  module API
    class Line < Base
      def build
        attributes
      end

      def width(value)
        #attributes[:streams][:width] = value
        #attributes[:streams] << API::Stream.build({ width: value })
      end

      def align(value)
        attributes[:align] = value
      end

      def stream(&block)
        attributes[:streams] << API::Stream.build(&block)
      end

      def text(value)
        attributes[:streams] << { text: value }
      end

      def foreground(value = '', &block)
        attributes[:streams] << API::Stream.build({ colour: { foreground: value } }, &block)
      end

      def background(value = '', &block)
        attributes[:streams] << API::Stream.build({ colour: { background: value } }, &block)
      end

      def attributes
        @_attributes ||= { colour: {}, style: [], streams: [] }.merge!(@attributes)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vedeu-0.1.5 lib/vedeu/api/line.rb