openhab-scripting 4.11.2 → 4.13.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 19cbbdcb66b30a84771b0f5d326d9a4a93aebdace2d56d8bb6fb69c256d0826e
4
- data.tar.gz: bda4faa411f2fd7364f52e881e4c493329228060542d9f57de8a52b8cf3e6f92
3
+ metadata.gz: 5277fc6afcbe8ae48365fc8a0d867ccd678dfb89e098e3ced9dde91231a19de5
4
+ data.tar.gz: c7f1dbde6e49b58dcc9e12857d8b3898c8f0b6be556e5170539217197eec4bcb
5
5
  SHA512:
6
- metadata.gz: f8eb6381c66788636e3a6f5e3fd98aab72a6a88919de848d3332a59cb1e94f4091cfbea6c2d6b0eb4fe81dc94c7cd4014e8d3ef5846a51658429922a883979a9
7
- data.tar.gz: 7fc88a1936533792a385475b397deea0c9b7a67d5ef450ec502e0e39a7faa25528bafe30cf4946b407e3f4865fa883f9bdb71912bac7b88f2d411655749cbdba
6
+ metadata.gz: 2fde0980ddcc145964165c59a53a7020386c6be95c44b5abb8ecf7e075b2c72d374a6d10b8030bb8ca3b0644f0addf61fbd1d48b22e47f0c2fd42bccbfa3ed0b
7
+ data.tar.gz: dc05be4ab897a1fa6c5a827b9ec46a8aad579eb3e1c27c34cb0089b32bf72eaf86008181c90b667418561e29b7c392ee3238f8ca332a0457c30fa654653ac85b
@@ -279,7 +279,7 @@ module OpenHAB
279
279
  # Loggging inflates method length
280
280
  def check_guards(event:)
281
281
  if @guard.should_run? event
282
- now = TimeOfDay::TimeOfDay.now
282
+ now = Time.now
283
283
  return true if @between.cover? now
284
284
 
285
285
  logger.trace("Skipped execution of rule '#{name}' because the current time #{now} "\
@@ -64,6 +64,32 @@ module OpenHAB
64
64
  def to_s
65
65
  "#{to_string}%"
66
66
  end
67
+
68
+ #
69
+ # Scale the value to a particular range
70
+ #
71
+ # @param range [Range] the range as a numeric
72
+ # @return [Numeric] the value as a percentage of the range
73
+ #
74
+ def scale(range) # rubocop:disable Metrics/AbcSize
75
+ unless range.is_a?(Range) && range.min.is_a?(Numeric) && range.max.is_a?(Numeric)
76
+ raise ArgumentError, 'range must be a Range of Numerics'
77
+ end
78
+
79
+ result = (to_d * (range.max - range.min) / 100) + range.min
80
+ case range.max
81
+ when Integer then result.round
82
+ when Float then result.to_f
83
+ else result
84
+ end
85
+ end
86
+
87
+ # scale the value to fit in a single byte
88
+ #
89
+ # @return [Integer] an integer in the range 0-255
90
+ def to_byte
91
+ scale(0..255)
92
+ end
67
93
  end
68
94
  end
69
95
  end
@@ -50,6 +50,9 @@ module OpenHAB
50
50
  def <=>(other) # rubocop:disable Metrics
51
51
  logger.trace("(#{self.class}) #{self} <=> #{other} (#{other.class})")
52
52
  if other.is_a?(self.class)
53
+ return unitize(other.unit).compare_to(other) if unit == ONE
54
+ return compare_to(other.unitize(unit)) if other.unit == ONE
55
+
53
56
  compare_to(other)
54
57
  elsif other.is_a?(Items::NumericItem) ||
55
58
  (other.is_a?(Items::GroupItem) && other.base_item.is_a?(NumericItem))
@@ -5,5 +5,5 @@
5
5
  #
6
6
  module OpenHAB
7
7
  # @return [String] Version of OpenHAB helper libraries
8
- VERSION = '4.11.2'
8
+ VERSION = '4.13.1'
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openhab-scripting
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.11.2
4
+ version: 4.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian O'Connell
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-06 00:00:00.000000000 Z
11
+ date: 2021-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -152,15 +152,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
152
  requirements:
153
153
  - - ">="
154
154
  - !ruby/object:Gem::Version
155
- version: 2.5.0
155
+ version: 2.6.0
156
156
  required_rubygems_version: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - ">="
159
159
  - !ruby/object:Gem::Version
160
160
  version: '0'
161
161
  requirements: []
162
- rubyforge_project:
163
- rubygems_version: 2.7.6.3
162
+ rubygems_version: 3.0.3.1
164
163
  signing_key:
165
164
  specification_version: 4
166
165
  summary: JRuby Helper Libraries for OpenHAB Scripting