Class: Plt::Group
- Inherits:
-
Object
- Object
- Plt::Group
- Defined in:
- lib/plt/group.rb
Constant Summary collapse
- REGEXP =
%r{//BEGIN_GROUP "(?<name>[^"]+)" ?(?<status>DISABLED|ENABLED)?(?: COLOR=(?<color>\d+))?}
Instance Attribute Summary collapse
-
#color ⇒ Object
readonly
Returns the value of attribute color.
-
#enabled ⇒ Object
readonly
Returns the value of attribute enabled.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#signals ⇒ Object
Returns the value of attribute signals.
Class Method Summary collapse
Instance Method Summary collapse
- #enabled? ⇒ Boolean
-
#initialize(name, color, enabled = true) ⇒ Group
constructor
A new instance of Group.
- #to_plt ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(name, color, enabled = true) ⇒ Group
Returns a new instance of Group.
5 6 7 8 9 10 |
# File 'lib/plt/group.rb', line 5 def initialize(name, color, enabled=true) @name = name @color = color @enabled = enabled @signals = [] end |
Instance Attribute Details
#color ⇒ Object (readonly)
Returns the value of attribute color.
3 4 5 |
# File 'lib/plt/group.rb', line 3 def color @color end |
#enabled ⇒ Object (readonly)
Returns the value of attribute enabled.
3 4 5 |
# File 'lib/plt/group.rb', line 3 def enabled @enabled end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
3 4 5 |
# File 'lib/plt/group.rb', line 3 def name @name end |
#signals ⇒ Object
Returns the value of attribute signals.
3 4 5 |
# File 'lib/plt/group.rb', line 3 def signals @signals end |
Class Method Details
.from_line(line) ⇒ Object
16 17 18 19 20 |
# File 'lib/plt/group.rb', line 16 def self.from_line(line) fail "Cannot parse line #{line}" unless match = line.match(REGEXP) new(match[:name], match[:color], match[:status] != "DISABLED") end |
Instance Method Details
#enabled? ⇒ Boolean
14 |
# File 'lib/plt/group.rb', line 14 def enabled? = enabled |
#to_plt ⇒ Object
30 31 32 33 34 |
# File 'lib/plt/group.rb', line 30 def to_plt "//BEGIN_GROUP \"#{name}\" #{enabled? ? "ENABLED" : "DISABLED"}#{color ? " COLOR=#{color}" : ""}\n" + signals.map { "#{_1.to_plt(enabled?)}\n" }.join + "//END_GROUP" end |
#to_s ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/plt/group.rb', line 22 def to_s "Group \"#{name}\"" + (enabled? ? "" : " (disabled)") + "\n" + signals.map { " #{_1}" }.join("\n") + "\n" end |