openhab-scripting 5.27.0 → 5.27.1
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 +4 -4
- data/lib/openhab/core/provider.rb +10 -0
- data/lib/openhab/core/sitemaps/provider.rb +1 -10
- data/lib/openhab/core/types/date_time_type.rb +7 -23
- data/lib/openhab/dsl/version.rb +1 -1
- data/lib/openhab/dsl.rb +10 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e0abb8ef69de3f3ee26fa45213d2d9afa55f4b4816cde92ab6dd68ea9f95ad5
|
4
|
+
data.tar.gz: bcb8c93446e87d55b2d07cfa24762b684e313f2f546c77bfa1b946c227061a00
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec47bcf9491772968a8f6ca7ac5853ed403986d75eb1ae69f92f43ada70af126552abec30af4a7d02bd5cf63daaf4ce5d7b9b86433899f1161e72e5807f6c06e
|
7
|
+
data.tar.gz: ad58da972b4b1bbf34e4a9e0af7bc56f8debec4126ce64e1c8133b6d1dd10d584c3c7344bb9740be56977f5c948a6ccb6db055a0179fd4fb84d77d53e88e36e1
|
@@ -213,8 +213,18 @@ module OpenHAB
|
|
213
213
|
old
|
214
214
|
end
|
215
215
|
|
216
|
+
# @!visibility private
|
217
|
+
def clear
|
218
|
+
elements = @elements
|
219
|
+
@elements = java.util.concurrent.ConcurrentHashMap.new
|
220
|
+
elements.each_value do |v|
|
221
|
+
notify_listeners_about_removed_element(v)
|
222
|
+
end
|
223
|
+
end
|
224
|
+
|
216
225
|
# @!visibility private
|
217
226
|
def unregister
|
227
|
+
clear
|
218
228
|
# @deprecated OH3.4 safe navigation only required for missing Semantics registry
|
219
229
|
self.class.registry&.remove_provider(self)
|
220
230
|
end
|
@@ -47,6 +47,7 @@ module OpenHAB
|
|
47
47
|
# rubocop:enable Naming/MethodName
|
48
48
|
|
49
49
|
# @!visibility private
|
50
|
+
# Override this because we don't have a registry
|
50
51
|
def unregister
|
51
52
|
clear
|
52
53
|
@registration.unregister
|
@@ -140,16 +141,6 @@ module OpenHAB
|
|
140
141
|
end
|
141
142
|
end
|
142
143
|
|
143
|
-
# For use in specs
|
144
|
-
# @!visibility private
|
145
|
-
def clear
|
146
|
-
elements = @elements
|
147
|
-
@elements = java.util.concurrent.ConcurrentHashMap.new
|
148
|
-
elements.each_value do |v|
|
149
|
-
notify_listeners_about_removed_element(v)
|
150
|
-
end
|
151
|
-
end
|
152
|
-
|
153
144
|
#
|
154
145
|
# Notify listeners about updated sitemap
|
155
146
|
#
|
@@ -26,36 +26,20 @@ module OpenHAB
|
|
26
26
|
include Comparable
|
27
27
|
end
|
28
28
|
|
29
|
-
#
|
30
|
-
# Regex expression to identify strings defining a time in hours, minutes and optionally seconds
|
31
|
-
#
|
32
|
-
TIME_ONLY_REGEX = /\A(?<hours>\d\d):(?<minutes>\d\d)(?<seconds>:\d\d)?\Z/.freeze
|
33
|
-
|
34
|
-
#
|
35
|
-
# Regex expression to identify strings defining a time in year, month, and day
|
36
|
-
#
|
37
|
-
DATE_ONLY_REGEX = /\A\d{4}-\d\d-\d\d\Z/.freeze
|
38
|
-
private_constant :TIME_ONLY_REGEX, :DATE_ONLY_REGEX
|
39
|
-
|
40
29
|
class << self
|
41
30
|
#
|
42
|
-
#
|
43
|
-
# using Java's parser, then falls back to the Ruby `Time.parse`.
|
31
|
+
# Parse a time string into a {DateTimeType}.
|
44
32
|
#
|
45
|
-
# @
|
33
|
+
# @note openHAB's DateTimeType.new(String) constructor will parse time-only strings and fill in `1970-01-01`
|
34
|
+
# as the date, whereas this method will use the current date.
|
46
35
|
#
|
36
|
+
# @param (see DSL#try_parse_time_like)
|
47
37
|
# @return [DateTimeType]
|
48
38
|
#
|
49
39
|
def parse(time_string)
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
# Try Ruby's Time.parse if DateTimeType parser fails
|
54
|
-
begin
|
55
|
-
DateTimeType.new(::Time.parse(time_string).to_zoned_date_time)
|
56
|
-
rescue ArgumentError
|
57
|
-
raise ArgumentError, e.message
|
58
|
-
end
|
40
|
+
DateTimeType.new(DSL.try_parse_time_like(time_string).to_zoned_date_time)
|
41
|
+
rescue ArgumentError
|
42
|
+
raise ArgumentError, e.message
|
59
43
|
end
|
60
44
|
end
|
61
45
|
|
data/lib/openhab/dsl/version.rb
CHANGED
data/lib/openhab/dsl.rb
CHANGED
@@ -1072,6 +1072,16 @@ module OpenHAB
|
|
1072
1072
|
Thread.current[:openhab_holiday_file] = file
|
1073
1073
|
end
|
1074
1074
|
|
1075
|
+
#
|
1076
|
+
# @param [String] string Date/time string to parse.
|
1077
|
+
# The string can be in any format recognized by:
|
1078
|
+
# - {OpenHAB::CoreExt::Java::LocalTime.parse LocalTime.parse}
|
1079
|
+
# - {OpenHAB::CoreExt::Java::LocalDate.parse LocalDate.parse}
|
1080
|
+
# - {OpenHAB::CoreExt::Java::MonthDay.parse MonthDay.parse}, e.g. "12-25"
|
1081
|
+
# - {OpenHAB::CoreExt::Java::ZonedDateTime.parse ZonedDateTime.parse}
|
1082
|
+
# - [Time.parse](https://rubyapi.org/o/time#method-c-parse), e.g. "2021-01-01 12:00:", or "3:30pm"
|
1083
|
+
# @return [LocalTime, LocalDate, MonthDay, ZonedDateTime, Time] the parsed date/time
|
1084
|
+
#
|
1075
1085
|
# @!visibility private
|
1076
1086
|
def try_parse_time_like(string)
|
1077
1087
|
return string unless string.is_a?(String)
|
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.27.
|
4
|
+
version: 5.27.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian O'Connell
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2024-09-
|
13
|
+
date: 2024-09-09 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|