openhab-scripting 4.1.4 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/lib/openhab/core/entity_lookup.rb +1 -57
  3. data/lib/openhab/dsl/dsl.rb +6 -12
  4. data/lib/openhab/dsl/group.rb +1 -5
  5. data/lib/openhab/dsl/items/comparable_item.rb +49 -0
  6. data/lib/openhab/dsl/items/contact_item.rb +41 -0
  7. data/lib/openhab/dsl/items/date_time_item.rb +64 -0
  8. data/lib/openhab/dsl/items/dimmer_item.rb +59 -0
  9. data/lib/openhab/dsl/items/generic_item.rb +197 -0
  10. data/lib/openhab/dsl/items/group_item.rb +56 -92
  11. data/lib/openhab/dsl/items/image_item.rb +5 -41
  12. data/lib/openhab/dsl/items/item_registry.rb +49 -0
  13. data/lib/openhab/dsl/items/items.rb +71 -35
  14. data/lib/openhab/dsl/items/metadata.rb +325 -0
  15. data/lib/openhab/dsl/items/number_item.rb +6 -312
  16. data/lib/openhab/dsl/items/numeric_item.rb +66 -0
  17. data/lib/openhab/dsl/items/persistence.rb +122 -0
  18. data/lib/openhab/dsl/items/player_item.rb +49 -40
  19. data/lib/openhab/dsl/items/rollershutter_item.rb +25 -77
  20. data/lib/openhab/dsl/items/string_item.rb +16 -58
  21. data/lib/openhab/dsl/items/switch_item.rb +62 -0
  22. data/lib/openhab/dsl/lazy_array.rb +8 -6
  23. data/lib/openhab/dsl/monkey_patch/events/events.rb +2 -2
  24. data/lib/openhab/dsl/monkey_patch/events/item_command.rb +67 -24
  25. data/lib/openhab/dsl/monkey_patch/events/item_event.rb +5 -5
  26. data/lib/openhab/dsl/monkey_patch/events/item_state.rb +10 -11
  27. data/lib/openhab/dsl/monkey_patch/events/item_state_changed.rb +10 -11
  28. data/lib/openhab/dsl/monkey_patch/ruby/number.rb +25 -2
  29. data/lib/openhab/dsl/monkey_patch/ruby/ruby.rb +0 -3
  30. data/lib/openhab/dsl/monkey_patch/ruby/string.rb +24 -24
  31. data/lib/openhab/dsl/states.rb +1 -1
  32. data/lib/openhab/dsl/time_of_day.rb +3 -5
  33. data/lib/openhab/dsl/types/comparable_type.rb +21 -0
  34. data/lib/openhab/dsl/types/date_time_type.rb +334 -0
  35. data/lib/openhab/dsl/types/decimal_type.rb +187 -0
  36. data/lib/openhab/dsl/types/increase_decrease_type.rb +23 -0
  37. data/lib/openhab/dsl/types/next_previous_type.rb +23 -0
  38. data/lib/openhab/dsl/types/numeric_type.rb +39 -0
  39. data/lib/openhab/dsl/types/on_off_type.rb +29 -0
  40. data/lib/openhab/dsl/types/open_closed_type.rb +29 -0
  41. data/lib/openhab/dsl/types/percent_type.rb +68 -0
  42. data/lib/openhab/dsl/types/play_pause_type.rb +27 -0
  43. data/lib/openhab/dsl/types/quantity_type.rb +275 -0
  44. data/lib/openhab/dsl/types/refresh_type.rb +18 -0
  45. data/lib/openhab/dsl/types/rewind_fastforward_type.rb +33 -0
  46. data/lib/openhab/dsl/types/stop_move_type.rb +23 -0
  47. data/lib/openhab/dsl/types/string_type.rb +88 -0
  48. data/lib/openhab/dsl/types/type.rb +72 -0
  49. data/lib/openhab/dsl/types/types.rb +77 -0
  50. data/lib/openhab/dsl/types/un_def_type.rb +22 -0
  51. data/lib/openhab/dsl/types/up_down_type.rb +32 -0
  52. data/lib/openhab/dsl/units.rb +11 -6
  53. data/lib/openhab/version.rb +1 -1
  54. data/lib/openhab.rb +0 -1
  55. metadata +31 -28
  56. data/lib/openhab/dsl/items/datetime_item.rb +0 -75
  57. data/lib/openhab/dsl/items/item_command.rb +0 -90
  58. data/lib/openhab/dsl/items/item_delegate.rb +0 -125
  59. data/lib/openhab/dsl/monkey_patch/items/contact_item.rb +0 -51
  60. data/lib/openhab/dsl/monkey_patch/items/dimmer_item.rb +0 -140
  61. data/lib/openhab/dsl/monkey_patch/items/items.rb +0 -142
  62. data/lib/openhab/dsl/monkey_patch/items/metadata.rb +0 -328
  63. data/lib/openhab/dsl/monkey_patch/items/persistence.rb +0 -123
  64. data/lib/openhab/dsl/monkey_patch/items/switch_item.rb +0 -71
  65. data/lib/openhab/dsl/monkey_patch/ruby/range.rb +0 -47
  66. data/lib/openhab/dsl/monkey_patch/ruby/time.rb +0 -32
  67. data/lib/openhab/dsl/monkey_patch/types/decimal_type.rb +0 -97
  68. data/lib/openhab/dsl/monkey_patch/types/increase_decrease_type.rb +0 -23
  69. data/lib/openhab/dsl/monkey_patch/types/next_previous_type.rb +0 -23
  70. data/lib/openhab/dsl/monkey_patch/types/on_off_type.rb +0 -79
  71. data/lib/openhab/dsl/monkey_patch/types/open_closed_type.rb +0 -71
  72. data/lib/openhab/dsl/monkey_patch/types/percent_type.rb +0 -77
  73. data/lib/openhab/dsl/monkey_patch/types/play_pause_type.rb +0 -23
  74. data/lib/openhab/dsl/monkey_patch/types/quantity_type.rb +0 -69
  75. data/lib/openhab/dsl/monkey_patch/types/refresh_type.rb +0 -23
  76. data/lib/openhab/dsl/monkey_patch/types/rewind_fastforward_type.rb +0 -23
  77. data/lib/openhab/dsl/monkey_patch/types/stop_move_type.rb +0 -23
  78. data/lib/openhab/dsl/monkey_patch/types/types.rb +0 -15
  79. data/lib/openhab/dsl/monkey_patch/types/up_down_type.rb +0 -72
  80. data/lib/openhab/dsl/types/datetime.rb +0 -338
  81. data/lib/openhab/dsl/types/quantity.rb +0 -300
@@ -1,123 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module OpenHAB
4
- module DSL
5
- module MonkeyPatch
6
- module Items
7
- #
8
- # Persistence extension for Items
9
- #
10
- module Persistence
11
- java_import Java::OrgOpenhabCoreTypesUtil::UnitUtils
12
-
13
- # A wrapper for OpenHAB's HistoricItem that returns the state directly
14
- class HistoricState < SimpleDelegator
15
- attr_reader :timestamp, :state
16
-
17
- def initialize(state, timestamp)
18
- @state = state
19
- @timestamp = timestamp
20
- super(@state)
21
- end
22
- end
23
-
24
- # All persistence methods that could return a Quantity
25
- QUANTITY_METHODS = %i[average_since
26
- delta_since
27
- deviation_since
28
- sum_since
29
- variance_since].freeze
30
-
31
- # All persistence methods that require a timestamp
32
- PERSISTENCE_METHODS = (QUANTITY_METHODS +
33
- %i[changed_since
34
- evolution_rate
35
- historic_state
36
- maximum_since
37
- minimum_since
38
- updated_since]).freeze
39
-
40
- %i[persist last_update].each do |method|
41
- define_method(method) do |service = nil|
42
- service ||= persistence_service
43
- PersistenceExtensions.public_send(method, self, service&.to_s)
44
- end
45
- end
46
-
47
- #
48
- # Return the previous state of the item
49
- #
50
- # @param skip_equal [Boolean] if true, skips equal state values and
51
- # searches the first state not equal the current state
52
- # @param service [String] the name of the PersistenceService to use
53
- #
54
- # @return the previous state or nil if no previous state could be found,
55
- # or if the default persistence service is not configured or
56
- # does not refer to a valid service
57
- #
58
- def previous_state(service = nil, skip_equal: false)
59
- service ||= persistence_service
60
- result = PersistenceExtensions.previous_state(self, skip_equal, service&.to_s)
61
- HistoricState.new(quantify(result.state), result.timestamp)
62
- end
63
-
64
- PERSISTENCE_METHODS.each do |method|
65
- define_method(method) do |timestamp, service = nil|
66
- service ||= persistence_service
67
- result = PersistenceExtensions.public_send(method, self, to_zdt(timestamp), service&.to_s)
68
- if result.is_a? Java::OrgOpenhabCorePersistence::HistoricItem
69
- return HistoricState.new(quantify(result.state), result.timestamp)
70
- end
71
-
72
- QUANTITY_METHODS.include?(method) ? quantify(result) : result
73
- end
74
- end
75
-
76
- private
77
-
78
- #
79
- # Convert timestamp to ZonedDateTime if it's a TemporalAmount
80
- #
81
- # @param [Object] timestamp to convert
82
- #
83
- # @return [ZonedDateTime]
84
- #
85
- def to_zdt(timestamp)
86
- if timestamp.is_a? Java::JavaTimeTemporal::TemporalAmount
87
- logger.trace("Converting #{timestamp} (#{timestamp.class}) to ZonedDateTime")
88
- Java::JavaTime::ZonedDateTime.now.minus(timestamp)
89
- else
90
- timestamp
91
- end
92
- end
93
-
94
- #
95
- # Convert value to Quantity if it is a DecimalType and a unit is defined
96
- #
97
- # @param [Object] value The value to convert
98
- #
99
- # @return [Object] Quantity or the original value
100
- #
101
- def quantify(value)
102
- if value.is_a?(Java::OrgOpenhabCoreLibraryTypes::DecimalType) && state_description&.pattern
103
- item_unit = UnitUtils.parse_unit(state_description.pattern)
104
- logger.trace("Unitizing #{value} with unit #{item_unit}")
105
- Quantity.new(Java::OrgOpenhabCoreLibraryTypes::QuantityType.new(value.to_big_decimal, item_unit))
106
- else
107
- value
108
- end
109
- end
110
-
111
- #
112
- # Get the specified persistence service from the current thread local variable
113
- #
114
- # @return [Object] Persistence service name as String or Symbol, or nil if not set
115
- #
116
- def persistence_service
117
- Thread.current.thread_variable_get(:persistence_service)
118
- end
119
- end
120
- end
121
- end
122
- end
123
- end
@@ -1,71 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'java'
4
- require 'openhab/dsl/items/item_command'
5
-
6
- module OpenHAB
7
- module DSL
8
- module MonkeyPatch
9
- #
10
- # Patches OpenHAB items
11
- #
12
- module Items
13
- java_import Java::OrgOpenhabCoreLibraryItems::SwitchItem
14
-
15
- # Alias class names for easy is_a? comparisons
16
- ::Switch = SwitchItem
17
-
18
- #
19
- # Monkeypatching SwitchItem to add Ruby Support methods
20
- #
21
- class SwitchItem
22
- extend OpenHAB::DSL::Items::ItemCommand
23
-
24
- java_import Java::OrgOpenhabCoreLibraryTypes::OnOffType
25
-
26
- item_type Java::OrgOpenhabCoreLibraryItems::SwitchItem
27
-
28
- alias truthy? on?
29
-
30
- #
31
- # Send a command to invert the state of the switch
32
- #
33
- # @return [OnOffType] Inverted state
34
- #
35
- def toggle
36
- self << !self
37
- end
38
-
39
- #
40
- # Return the inverted state of the switch: ON if the switch is OFF, UNDEF or NULL; OFF if the switch is ON
41
- #
42
- # @return [OnOffType] Inverted state
43
- #
44
- def !
45
- return !state if state?
46
-
47
- OnOffType::ON
48
- end
49
-
50
- #
51
- # Check for equality against supplied object
52
- #
53
- # @param [Object] other object to compare to
54
- #
55
- # @return [Boolean] True if other is a OnOffType and other equals state for this switch item,
56
- # otherwise result from super
57
- #
58
- def ==(other)
59
- other = other.get_state_as(OnOffType) if other.respond_to?(:get_state_as)
60
-
61
- if other.is_a? OnOffType
62
- state? && state == other
63
- else
64
- super
65
- end
66
- end
67
- end
68
- end
69
- end
70
- end
71
- end
@@ -1,47 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'java'
4
-
5
- # Monkey patch range to support case equality of OpenHab "Numeric" Objects
6
-
7
- module OpenHAB
8
- module DSL
9
- #
10
- # MonkeyPatch both Ruby and OpenHAB Objects to support DSL
11
- #
12
- module MonkeyPatch
13
- #
14
- # MonkeyPatch ruby object to support DSL
15
- #
16
- module Ruby
17
- #
18
- # Extensions for Range Class to support DimmerItems
19
- #
20
- module RangeExtensions
21
- java_import Java::OrgOpenhabCoreLibraryItems::DimmerItem
22
-
23
- #
24
- # Override range === method to support DimmerItems
25
- #
26
- # @param [Object] other object to compare for case equals
27
- #
28
- # @return [Boolean] if other is DimmerItem and state is covered by range,
29
- # result from parent Range class if not DimmerItem
30
- #
31
- def ===(other)
32
- return super unless other.is_a? DimmerItem
33
-
34
- cover? other.state.to_i
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
41
-
42
- #
43
- # Prepend Range class with RangeExtensions
44
- #
45
- class Range
46
- prepend OpenHAB::DSL::MonkeyPatch::Ruby::RangeExtensions
47
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module OpenHAB
4
- module DSL
5
- module MonkeyPatch
6
- module Ruby
7
- #
8
- # Extend Time to make to_s return string parseable by OpenHAB
9
- #
10
- module TimeExtensions
11
- include OpenHAB::Core
12
-
13
- #
14
- # Convert to ISO 8601 format
15
- #
16
- # @return [Java::JavaTime::Duration] Duration with number of units from self
17
- #
18
- def to_s
19
- strftime '%FT%T.%N%:z'
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
26
-
27
- #
28
- # Extend Time class with to_s method
29
- #
30
- class Time
31
- prepend OpenHAB::DSL::MonkeyPatch::Ruby::TimeExtensions
32
- end
@@ -1,97 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'java'
4
-
5
- module OpenHAB
6
- module DSL
7
- module MonkeyPatch
8
- #
9
- # Patches OpenHAB types
10
- #
11
- module Types
12
- java_import Java::OrgOpenhabCoreLibraryTypes::DecimalType
13
- java_import org.openhab.core.types.util.UnitUtils
14
-
15
- #
16
- # MonkeyPatching Decimal Type
17
- #
18
- class DecimalType
19
- extend Forwardable
20
-
21
- delegate %i[to_d zero?] => :to_big_decimal
22
- delegate %i[positive? negative?] => :to_d
23
-
24
- #
25
- # @param [Object] other object to compare to
26
- #
27
- # @return [Integer] -1,0,1 or nil depending on value supplied,
28
- # nil comparison to supplied object is not possible.
29
- #
30
- def <=>(other)
31
- logger.trace("#{self.class} #{self} <=> #{other} (#{other.class})")
32
- case other
33
- when Numeric
34
- to_big_decimal.compare_to(other.to_d)
35
- when Java::OrgOpenhabCoreTypes::UnDefType
36
- 1
37
- else
38
- other = other.state if other.respond_to? :state
39
- compare_to(other)
40
- end
41
- end
42
-
43
- #
44
- # Coerce objects into a DecimalType
45
- #
46
- # @param [Object] other object to coerce to a DecimalType if possible
47
- #
48
- # @return [Object] Numeric when applicable
49
- #
50
- def coerce(other)
51
- logger.trace("Coercing #{self} as a request from #{other.class}")
52
- case other
53
- when Numeric
54
- [other.to_d, to_big_decimal]
55
- else
56
- [other, self]
57
- end
58
- end
59
-
60
- #
61
- # Compare self to other through the spaceship operator
62
- # Compare self to other using Java BigDecimal compare method
63
- #
64
- # @param [Object] other object to compare to
65
- #
66
- # @return [Boolean] True if have the same BigDecimal representation, false otherwise
67
- #
68
- def ==(other)
69
- logger.trace("#{self.class} #{self} == #{other} (#{other.class})")
70
- (self <=> other).zero?
71
- end
72
-
73
- #
74
- # Convert DecimalType to a Quantity
75
- #
76
- # @param [Object] other String or Unit representing an OpenHAB Unit
77
- #
78
- # @return [OpenHAB::Core::DSL::Types::Quantity] NumberItem converted to supplied Unit
79
- #
80
- def |(other)
81
- other = UnitUtils.parse_unit(other) if other.is_a? String
82
- Quantity.new(QuantityType.new(to_big_decimal, other))
83
- end
84
-
85
- #
86
- # Provide details about DecimalType object
87
- #
88
- # @return [String] Representing details about the DecimalType object
89
- #
90
- def inspect
91
- to_string
92
- end
93
- end
94
- end
95
- end
96
- end
97
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'java'
4
-
5
- module OpenHAB
6
- module DSL
7
- module MonkeyPatch
8
- #
9
- # Patches OpenHAB types
10
- #
11
- module Types
12
- java_import Java::OrgOpenhabCoreLibraryTypes::IncreaseDecreaseType
13
-
14
- #
15
- # Monkey patch for DSL use
16
- #
17
- class IncreaseDecreaseType
18
- alias inspect to_s
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'java'
4
-
5
- module OpenHAB
6
- module DSL
7
- module MonkeyPatch
8
- #
9
- # Patches OpenHAB types
10
- #
11
- module Types
12
- java_import Java::OrgOpenhabCoreLibraryTypes::NextPreviousType
13
-
14
- #
15
- # Monkey patch for DSL use
16
- #
17
- class NextPreviousType
18
- alias inspect to_s
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,79 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'java'
4
-
5
- module OpenHAB
6
- module DSL
7
- module MonkeyPatch
8
- #
9
- # Patches OpenHAB types
10
- #
11
- module Types
12
- java_import Java::OrgOpenhabCoreLibraryTypes::OnOffType
13
-
14
- #
15
- # Monkey patching OnOffType
16
- #
17
- class OnOffType
18
- #
19
- # Invert the type
20
- #
21
- # @return [Java::OrgOpenhabCoreLibraryTypes::OnOffType] OFF if ON, ON if OFF
22
- #
23
- def !
24
- return OFF if self == ON
25
- return ON if self == OFF
26
- end
27
-
28
- # Check if the supplied object is case equals to self
29
- #
30
- # @param [Object] other object to compare
31
- #
32
- # @return [Boolean] True if the other object responds to on?/off? and is in the same state as this object,
33
- # nil if object cannot be compared
34
- #
35
- def ===(other)
36
- (on? && other.respond_to?(:on?) && other.on?) ||
37
- (off? && other.respond_to?(:off?) && other.off?) ||
38
- super
39
- end
40
-
41
- #
42
- # Test for equality
43
- #
44
- # @param [Object] other Other object to compare against
45
- #
46
- # @return [Boolean] true if self and other can be considered equal, false otherwise
47
- #
48
- def ==(other)
49
- if other.respond_to?(:get_state_as)
50
- self == other.get_state_as(OnOffType)
51
- else
52
- super
53
- end
54
- end
55
-
56
- #
57
- # Check if the state is ON
58
- #
59
- # @return [Boolean] true if ON, false otherwise
60
- #
61
- def on?
62
- self == ON
63
- end
64
-
65
- #
66
- # Check if the state is OFF
67
- #
68
- # @return [Boolean] true if OFF, false otherwise
69
- #
70
- def off?
71
- self == OFF
72
- end
73
-
74
- alias inspect to_s
75
- end
76
- end
77
- end
78
- end
79
- end
@@ -1,71 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'java'
4
-
5
- module OpenHAB
6
- module DSL
7
- module MonkeyPatch
8
- #
9
- # Patches OpenHAB types
10
- #
11
- module Types
12
- java_import Java::OrgOpenhabCoreLibraryTypes::OpenClosedType
13
-
14
- #
15
- # Monkey patch for DSL use
16
- #
17
- class OpenClosedType
18
- java_import Java::OrgOpenhabCoreLibraryItems::ContactItem
19
-
20
- #
21
- # Check if the supplied object is case equals to self
22
- #
23
- # @param [Object] other object to compare
24
- #
25
- # @return [Boolean] True if the other object is a ContactItem and has the same state
26
- #
27
- def ===(other)
28
- (open? && other.respond_to?(:open?) && other.open?) ||
29
- (closed? && other.respond_to?(:closed?) && other.closed?) ||
30
- super
31
- end
32
-
33
- #
34
- # Test for equality
35
- #
36
- # @param [Object] other Other object to compare against
37
- #
38
- # @return [Boolean] true if self and other can be considered equal, false otherwise
39
- #
40
- def ==(other)
41
- if other.respond_to?(:get_state_as)
42
- self == other.get_state_as(OpenClosedType)
43
- else
44
- super
45
- end
46
- end
47
-
48
- #
49
- # Check if the state is OPEN
50
- #
51
- # @return [Boolean] true if OPEN, false otherwise
52
- #
53
- def open?
54
- self == OPEN
55
- end
56
-
57
- #
58
- # Check if the state is CLOSED
59
- #
60
- # @return [Boolean] true if CLOSED, false otherwise
61
- #
62
- def closed?
63
- self == CLOSED
64
- end
65
-
66
- alias inspect to_s
67
- end
68
- end
69
- end
70
- end
71
- end
@@ -1,77 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'java'
4
- module OpenHAB
5
- module DSL
6
- module MonkeyPatch
7
- #
8
- # Patches OpenHAB types
9
- #
10
- module Types
11
- java_import Java::OrgOpenhabCoreLibraryTypes::PercentType
12
-
13
- #
14
- # MonkeyPatching PercentType
15
- #
16
- class PercentType
17
- #
18
- # Need to override and point to super because default JRuby implementation doesn't point to == of parent class
19
- #
20
- # @param [Object] other object to check equality for
21
- # @return [Boolean] True if other equals self, false otherwise
22
- #
23
- # rubocop:disable Lint/UselessMethodDefinition
24
- def ==(other)
25
- super
26
- end
27
- # rubocop:enable Lint/UselessMethodDefinition
28
-
29
- #
30
- # Provide details about PercentType object
31
- #
32
- # @return [String] Representing details about the PercentType object
33
- #
34
- def inspect
35
- "#{to_string}%"
36
- end
37
-
38
- #
39
- # Check if the state is ON
40
- #
41
- # @return [Boolean] true if ON, false otherwise
42
- #
43
- def on?
44
- as(OnOffType).on?
45
- end
46
-
47
- #
48
- # Check if the state is OFF
49
- #
50
- # @return [Boolean] true if OFF, false otherwise
51
- #
52
- def off?
53
- as(OnOffType).off?
54
- end
55
-
56
- #
57
- # Check if the state is UP
58
- #
59
- # @return [Boolean] true if UP, false otherwise
60
- #
61
- def up?
62
- !!as(UpDownType)&.up?
63
- end
64
-
65
- #
66
- # Check if the state is DOWN
67
- #
68
- # @return [Boolean] true if DOWN, false otherwise
69
- #
70
- def down?
71
- !!as(UpDownType)&.down?
72
- end
73
- end
74
- end
75
- end
76
- end
77
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'java'
4
-
5
- module OpenHAB
6
- module DSL
7
- module MonkeyPatch
8
- #
9
- # Patches OpenHAB types
10
- #
11
- module Types
12
- java_import Java::OrgOpenhabCoreLibraryTypes::PlayPauseType
13
-
14
- #
15
- # Monkey patch for DSL use
16
- #
17
- class PlayPauseType
18
- alias inspect to_s
19
- end
20
- end
21
- end
22
- end
23
- end