Sha256: 3b11e58010922739ab04ccbf6b6c921293a630162f0479348b25b796d9b51918

Contents?: true

Size: 733 Bytes

Versions: 2

Compression:

Stored size: 733 Bytes

Contents

module Lerna
  class Display
    INTERNAL_TYPES = %w[ LVDS ]
    DIGITAL_TYPES = %w[ LVDS DP HDMI DVI ]

    def self.parse(line)
      name, status, = line.split(/\s/)
      new(name, status == 'connected')
    end

    def initialize(name, connected)
      @name = name
      @connected = connected
    end

    attr_reader :name

    def connected?
      @connected
    end

    def type
      name.sub(/-?\d+$/, '')
    end

    def internal?
      INTERNAL_TYPES.include?(type)
    end

    def external?
      !internal?
    end

    def digital?
      DIGITAL_TYPES.include?(type)
    end

    def analog?
      !digital?
    end

    def ==(other)
      [name, connected?] == [other.name, other.connected?]
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lerna-0.1.1 lib/lerna/display.rb
lerna-0.1.0 lib/lerna/display.rb