Sha256: 5d43fa2a4f97892ec3ac2ef586970540d584f8811df0b47c1fa8a3a21bd80345

Contents?: true

Size: 541 Bytes

Versions: 1

Compression:

Stored size: 541 Bytes

Contents

require 'json'
require 'virtus'

require_relative 'presentation'
require_relative '../support/terminal'
require_relative 'style'

module Vedeu
  class Stream
    include Virtus.model
    include Presentation
    include Style

    attribute :text, String, default: ''

    def to_json
      json_attributes.to_json
    end

    def to_s(options = {})
      [colour, style, text].join
    end

    private

    def json_attributes
      {
        colour: colour,
        style:  style_original,
        text:   text
      }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vedeu-0.0.33 lib/vedeu/models/stream.rb