Class: SlowBlink::Message::FIXED Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/slow_blink/message/fixed.rb

Overview

This class is abstract.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value) ⇒ FIXED

Note:

calls #set(value)

Returns a new instance of FIXED.



67
68
69
# File 'lib/slow_blink/message/fixed.rb', line 67

def initialize(value)
    set(value)                
end

Class Method Details

.sizeInteger

Returns size of fixed type in bytes.

Returns:

  • (Integer)

    size of fixed type in bytes



41
42
43
# File 'lib/slow_blink/message/fixed.rb', line 41

def self.size
    @type.size
end

.typeObject



27
28
29
# File 'lib/slow_blink/message/fixed.rb', line 27

def self.type
    @type
end

Instance Method Details

#getString

Returns:

  • (String)


46
47
48
# File 'lib/slow_blink/message/fixed.rb', line 46

def get
    @value
end

#set(value) ⇒ Object

Set a fixed size type

Parameters:

  • value (String)

Raises:

  • (RangeError)
  • (TypeError)


54
55
56
57
58
59
60
61
62
63
64
# File 'lib/slow_blink/message/fixed.rb', line 54

def set(value)
    if value.kind_of? String
        if value.size == self.class.size
            @value = value.to_s
        else
            raise RangeError.new "String instance must have size of #{@size} bytes"
        end
    else
        raise TypeError.new "expecting a String instance"
    end
end