openhab-scripting 5.47.3 → 5.47.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2fd2aa14f2bc1f8ac43aa9cd55dd95c24395367e95f16732b3911d77d707e12d
4
- data.tar.gz: 35b524b0b291fd2fdec0f25290274be648697860e17df54ad8c06e0f643fbc0f
3
+ metadata.gz: d22421ade202e53be08b9511bcacdeb16b8242587999d8b9a017f928748318cd
4
+ data.tar.gz: 6c4e7e8d938b2c6c62c41a8bb1baf5b10470f73fe371f0e2130fc09bf1c09124
5
5
  SHA512:
6
- metadata.gz: 12f55e491a8c72447d539c45ddd74db196c80c92bbec37e0f0aa0277b53633f14c78d15634b5814b75fd715844096d53f324d443806e0d5f30895addc50c44b2
7
- data.tar.gz: 3eec0b52f59468f948ee68269d47a3d537ff425795f018f6ed4dd493c6caf8912482125db293ef1f9aac571c93b3a02fd084417f0a6a9a1aafd2bbb7dd25bbd7
6
+ metadata.gz: d338d71faf5eb7adf46c4b787a3202bcf33c5705541727b40d669331e3d85266464681842439e9a5f1fa79f4b5bd1b527b549c2a266f06b7f90ec8ac31a57a9c
7
+ data.tar.gz: 34bd14d2816fc2350fbce61f65d891d10b098f0014d09f113ec0ee85347bfed2ec35255fd836d6894db0b1d283315d5da75d74a1e4bb0f4d4ddcdaffd61b84dc
@@ -66,6 +66,7 @@ module OpenHAB
66
66
  def subscribed_event_types
67
67
  @event_types.to_set
68
68
  end
69
+ alias_method :getSubscribedEventTypes, :subscribed_event_types # rubocop:disable Naming/MethodName
69
70
 
70
71
  # @return [org.openhab.core.events.EventFilter, nil]
71
72
  def event_filter
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenHAB
4
+ module Core
5
+ module Sitemaps
6
+ # @interface
7
+ java_import org.openhab.core.sitemap.LinkableWidget
8
+
9
+ # @since openHAB 5.2.0
10
+ module LinkableWidget
11
+ # @!parse
12
+ # include Widget
13
+
14
+ # @!attribute [r] widgets
15
+ # @return [<Widget>]
16
+
17
+ private
18
+
19
+ def inspect_details
20
+ children_count = widgets.size
21
+ " (#{children_count} child#{"ren" if children_count != 1})" if children_count.positive?
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -61,70 +61,6 @@ module OpenHAB
61
61
 
62
62
  def value = "#{sign}#{state}"
63
63
  end
64
-
65
- module Provider
66
- def self.prepended(klass)
67
- klass.include org.openhab.core.model.sitemap.SitemapProvider
68
- end
69
-
70
- SUFFIX = ".sitemap"
71
- private_constant :SUFFIX
72
-
73
- def getSitemap = get # rubocop:disable Naming/MethodName
74
-
75
- # rubocop:disable Naming/MethodName
76
- def getSitemapNames
77
- @elements.key_set
78
- end
79
-
80
- def addModelChangeListener(listener)
81
- @listeners.add(listener)
82
- end
83
-
84
- def removeModelChangeListener(listener)
85
- @listeners.remove(listener)
86
- end
87
- # rubocop:enable Naming/MethodName
88
-
89
- def unregister
90
- clear
91
- @registration.unregister
92
- end
93
-
94
- def update(sitemap)
95
- if sitemap.respond_to?(:to_str)
96
- sitemap = get(sitemap).tap do |obj|
97
- raise ArgumentError, "Sitemap #{sitemap} not found" unless obj
98
- end
99
- end
100
- super
101
- end
102
-
103
- def remove(sitemap)
104
- sitemap = sitemap.uid if sitemap.respond_to?(:uid)
105
- super
106
- end
107
-
108
- private
109
-
110
- def notify_listeners_about_added_element(element)
111
- model_name = "#{element.name}#{SUFFIX}"
112
- @listeners.each do |listener|
113
- listener.modelChanged(model_name, org.openhab.core.model.core.EventType::ADDED)
114
- listener.modelChanged(model_name, org.openhab.core.model.core.EventType::MODIFIED)
115
- end
116
- end
117
-
118
- def notify_listeners_about_removed_element(element)
119
- model_name = "#{element.name}#{SUFFIX}"
120
- @listeners.each { |listener| listener.modelChanged(model_name, org.openhab.core.model.core.EventType::REMOVED) }
121
- end
122
-
123
- def notify_listeners_about_updated_element(_old_element, element)
124
- model_name = "#{element.name}#{SUFFIX}"
125
- @listeners.each { |listener| listener.modelChanged(model_name, org.openhab.core.model.core.EventType::MODIFIED) }
126
- end
127
- end
128
64
  end
129
65
  end
130
66
  end
@@ -37,18 +37,80 @@ module OpenHAB
37
37
 
38
38
  # @deprecated OH 5.2: remove the non-registry branch when dropping OH 5.1
39
39
  if registry
40
+ require_relative "linkable_widget"
40
41
  require_relative "sitemap"
42
+ require_relative "widget"
41
43
 
42
44
  include org.openhab.core.sitemap.registry.SitemapProvider
43
45
  else
44
46
  require_relative "model"
45
47
 
46
- prepend Model::Provider
47
- end
48
+ include org.openhab.core.model.sitemap.SitemapProvider
49
+
50
+ SUFFIX = ".sitemap"
51
+ private_constant :SUFFIX
52
+
53
+ # rubocop:disable Naming/MethodName
54
+
55
+ # @!visibility private
56
+ def addModelChangeListener(listener)
57
+ @listeners.add(listener)
58
+ end
59
+
60
+ # @!visibility private
61
+ def removeModelChangeListener(listener)
62
+ @listeners.remove(listener)
63
+ end
64
+ # rubocop:enable Naming/MethodName
48
65
 
49
- alias_method :getSitemap, :get # rubocop:disable Naming/MethodName
66
+ def unregister
67
+ clear
68
+ @registration.unregister
69
+ end
70
+
71
+ # @!visibility private
72
+ def update(sitemap)
73
+ if sitemap.respond_to?(:to_str)
74
+ sitemap = get(sitemap).tap do |obj|
75
+ raise ArgumentError, "Sitemap #{sitemap} not found" unless obj
76
+ end
77
+ end
78
+ super
79
+ end
80
+
81
+ # @!visibility private
82
+ def remove(sitemap)
83
+ sitemap = sitemap.uid if sitemap.respond_to?(:uid)
84
+ super
85
+ end
86
+
87
+ private
88
+
89
+ def notify_listeners_about_added_element(element)
90
+ model_name = "#{element.name}#{SUFFIX}"
91
+ @listeners.each do |listener|
92
+ listener.modelChanged(model_name, org.openhab.core.model.core.EventType::ADDED)
93
+ listener.modelChanged(model_name, org.openhab.core.model.core.EventType::MODIFIED)
94
+ end
95
+ end
96
+
97
+ def notify_listeners_about_removed_element(element)
98
+ model_name = "#{element.name}#{SUFFIX}"
99
+ @listeners.each { |listener| listener.modelChanged(model_name, org.openhab.core.model.core.EventType::REMOVED) }
100
+ end
101
+
102
+ def notify_listeners_about_updated_element(_old_element, element)
103
+ model_name = "#{element.name}#{SUFFIX}"
104
+ @listeners.each { |listener| listener.modelChanged(model_name, org.openhab.core.model.core.EventType::MODIFIED) }
105
+ end
106
+
107
+ public
108
+
109
+ end
50
110
 
51
111
  # rubocop:disable Naming/MethodName
112
+ alias_method :getSitemap, :get
113
+
52
114
  # @!visibility private
53
115
  def getSitemapNames
54
116
  @elements.key_set
@@ -5,6 +5,32 @@ module OpenHAB
5
5
  module Sitemaps
6
6
  # @interface
7
7
  java_import org.openhab.core.sitemap.Sitemap
8
+
9
+ # @since openHAB 5.2.0
10
+ module Sitemap
11
+ # @!attribute [r] name
12
+ # @return [String]
13
+
14
+ # @!attribute [r] label
15
+ # @return [String, nil]
16
+
17
+ # @!attribute [r] icon
18
+ # @return [String, nil]
19
+
20
+ # @!attribute [r] widgets
21
+ # @return [<Widget>]
22
+
23
+ # @return [String]
24
+ def to_s
25
+ r = "#<OpenHAB::Core::Sitemaps::Sitemap #{name}"
26
+ r += " #{label.inspect}" if label
27
+ r += " icon=#{icon.inspect}" if icon
28
+ children_count = widgets.size
29
+ r += " (#{children_count} child#{"ren" if children_count != 1})" if children_count.positive?
30
+ "#{r}>"
31
+ end
32
+ alias_method :inspect, :to_s
33
+ end
8
34
  end
9
35
  end
10
36
  end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenHAB
4
+ module Core
5
+ module Sitemaps
6
+ # @interface
7
+ java_import org.openhab.core.sitemap.Widget
8
+
9
+ # @since openHAB 5.2.0
10
+ module Widget
11
+ # @!attribute [r] item
12
+ # @return [String, nil]
13
+
14
+ # @!attribute [r] label
15
+ # @return [String, nil]
16
+
17
+ # @!attribute [r] icon
18
+ # @return [String, nil]
19
+
20
+ # @!attribute [r] widget_type
21
+ # @return [String]
22
+
23
+ # @return [String]
24
+ def to_s
25
+ r = "#<OpenHAB::Core::Sitemaps::#{widget_type}"
26
+ r += " #{label.inspect}" if label
27
+ r += " item=#{item}" if item
28
+ r += inspect_details.to_s
29
+ "#{r}>"
30
+ end
31
+ alias_method :inspect, :to_s
32
+
33
+ private
34
+
35
+ def inspect_details; end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1170,7 +1170,10 @@ module OpenHAB
1170
1170
  widget = super
1171
1171
 
1172
1172
  children.each do |child|
1173
- widget.widgets.add(child.build)
1173
+ child = child.build
1174
+ # @deprecated OH 5.2: Remove conditional when dropping OH 5.1
1175
+ child.parent = widget if child.respond_to?(:parent=)
1176
+ widget.widgets.add(child)
1174
1177
  end
1175
1178
 
1176
1179
  widget
@@ -4,6 +4,6 @@ module OpenHAB
4
4
  module DSL
5
5
  # Version of openHAB helper libraries
6
6
  # @return [String]
7
- VERSION = "5.47.3"
7
+ VERSION = "5.47.5"
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openhab-scripting
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.47.3
4
+ version: 5.47.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian O'Connell
@@ -173,10 +173,12 @@ files:
173
173
  - lib/openhab/core/rules/tagged_array.rb
174
174
  - lib/openhab/core/script_handling.rb
175
175
  - lib/openhab/core/sitemaps/compatibility.rb
176
+ - lib/openhab/core/sitemaps/linkable_widget.rb
176
177
  - lib/openhab/core/sitemaps/model.rb
177
178
  - lib/openhab/core/sitemaps/provider.rb
178
179
  - lib/openhab/core/sitemaps/registry.rb
179
180
  - lib/openhab/core/sitemaps/sitemap.rb
181
+ - lib/openhab/core/sitemaps/widget.rb
180
182
  - lib/openhab/core/things.rb
181
183
  - lib/openhab/core/things/abstract_description_type.rb
182
184
  - lib/openhab/core/things/channel.rb
@@ -358,7 +360,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
358
360
  - !ruby/object:Gem::Version
359
361
  version: '0'
360
362
  requirements: []
361
- rubygems_version: 4.0.9
363
+ rubygems_version: 4.0.10
362
364
  specification_version: 4
363
365
  summary: JRuby Helper Libraries for openHAB Scripting
364
366
  test_files: []