Sha256: 45be0c1a40fa10bf0f40431b9f89543ca90cc675d456f246b06c5d9c62a7ec5e

Contents?: true

Size: 561 Bytes

Versions: 1

Compression:

Stored size: 561 Bytes

Contents

require 'json'
require 'virtus'

require_relative 'presentation'
require_relative 'stream_collection'
require_relative 'style'

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

    attribute :model,   Hash
    attribute :streams, StreamCollection

    def to_json
      json_attributes.to_json
    end

    def to_s
      [colour, style, streams].join
    end

    private

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

Version data entries

1 entries across 1 versions & 1 rubygems

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