openhab-scripting 4.12.0 → 4.13.2

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: d0be6996bb905e740d8a0079a6f034aedcbef564c9c9030a8657397f64dcf0dd
4
- data.tar.gz: 7b3d11531d71763653c98c0251afe71213a1bec3ec8f75263f1de2459199eca0
3
+ metadata.gz: 2d2593c004c5de826f8b1d010fd4594e6b32911ad6291b2973f192bf7e7d2383
4
+ data.tar.gz: fbd14e4e0a1ae6622a6fa868dc2b5a006cbd2094c22922e36f95743f97683f9a
5
5
  SHA512:
6
- metadata.gz: 0dd11328b02bfa076b9c7c3fbc4a084fd4b54939e6b3df8e7510484b37116d25820f308f30bbfd53621f6c57758057e323384c6933da72bd5769204c6f81dcf2
7
- data.tar.gz: db3700f40ce86ea77e03a5560104e4e78e937b2e1b5cca177a595fbd01aca215cb4659517274433c3dffb09e8f668e6d7e6839782bdcc31380a4c530f3beef1f
6
+ metadata.gz: 7035a6b5621606d072680ac7057ef69a1f60a78ea674a4ef5fea16307b8fe6fd2578da0c925b9b2243d84101e9e3505f0a944c69c7f32884ccc0e29d093d7d0a
7
+ data.tar.gz: 26758d8a9a8d14754364cbbf1e012e522cbc7d85f9506d7290e21deb675b985c00439ce1bdefacefbd6c43d7904b2a019b243fc9d5c241b62825493659d114d7
@@ -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.12.0'
8
+ VERSION = '4.13.2'
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.12.0
4
+ version: 4.13.2
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-08 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