timex_datalink_client 0.12.2 → 0.12.3

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: 04efc1048bf18dfffcca9859dc88248f834dad97074ca4e9c3f74ef3cc55d86a
4
- data.tar.gz: b8722c9865c6a148a38f0f041d26c1fbfbfb729984500f3e8354693c4213b85e
3
+ metadata.gz: cf947122caab09ed616e7a81dc9e88c2b1d3a210814e4c40d340de888684826c
4
+ data.tar.gz: de8330a9394d9fe2e1a54bc1a4eed14e2655e419a488ca6f1479f7598afcc9e0
5
5
  SHA512:
6
- metadata.gz: 6345d5eab984a5898f0b0630cbac1149e0ccabc01f26df7533d90ff0b477c27cfaed51274c421f11f6867e070d72fa39530971d4703cf3d2afb83bd79b9439b1
7
- data.tar.gz: e8f1f6773e5b3d0fef20da0ec0fd695510f93d902c37e5bf8bf9ce1efd03e822cde0fe69224dc5881e4d33d812ab210db841df829c90be8c1eebe31c3f7630d4
6
+ metadata.gz: 3e9f46a09af303087acbd25f0b50b04bfa1dc176a8b78fcb31fd21b0d2da7157f83ea56540530b1eaea0e42a0b8c8627f5a333763f35da9f3fdf888d83b0f9fe
7
+ data.tar.gz: 6ccb2e3fc79f077e09e1b5c215046c02adc059c66e5fbcae8752c918d6115c68b31c108c732f3a9b022fc7d07ac07e81fa06ffa737e531d2a37ec97e37c6eb4e
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "active_model"
4
+
3
5
  require "timex_datalink_client/helpers/lsb_msb_formatter"
4
6
 
5
7
  class TimexDatalinkClient
@@ -7,16 +9,23 @@ class TimexDatalinkClient
7
9
  class Eeprom
8
10
  class Calendar
9
11
  class Event
12
+ include ActiveModel::Validations
10
13
  include Helpers::LsbMsbFormatter
11
14
 
12
15
  FIVE_MINUTES_SECONDS = 300
13
16
 
14
- attr_accessor :time, :phrase
17
+ validates :time, comparison: {
18
+ greater_than_or_equal_to: :device_time,
19
+ message: "%{value} must be greater or equal to device time!"
20
+ }
21
+
22
+ attr_accessor :time, :phrase, :device_time
15
23
 
16
24
  # Create an Event instance.
17
25
  #
18
26
  # @param time [::Time] Time of event.
19
27
  # @param phrase [Array<Integer>] Phrase for event.
28
+ # @raise [ActiveModel::ValidationError] One or more model values are invalid.
20
29
  # @return [Event] Event instance.
21
30
  def initialize(time:, phrase:)
22
31
  @time = time
@@ -24,6 +33,10 @@ class TimexDatalinkClient
24
33
  end
25
34
 
26
35
  def time_formatted(device_time)
36
+ @device_time = device_time
37
+
38
+ validate!
39
+
27
40
  device_time_midnight = Time.new(device_time.year, device_time.month, device_time.day)
28
41
  seconds = (time - device_time_midnight).to_i
29
42
  five_minutes = seconds / FIVE_MINUTES_SECONDS
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class TimexDatalinkClient
4
- VERSION = "0.12.2"
4
+ VERSION = "0.12.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: timex_datalink_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.2
4
+ version: 0.12.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maxwell Pray
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-27 00:00:00.000000000 Z
11
+ date: 2023-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -150,7 +150,7 @@ files:
150
150
  - lib/timex_datalink_client/protocol_9/time_name.rb
151
151
  - lib/timex_datalink_client/protocol_9/timer.rb
152
152
  - lib/timex_datalink_client/version.rb
153
- homepage: https://github.com/synthead/timex_datalink_client/tree/v0.12.2
153
+ homepage: https://github.com/synthead/timex_datalink_client/tree/v0.12.3
154
154
  licenses:
155
155
  - MIT
156
156
  metadata: {}
@@ -162,7 +162,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - ">="
164
164
  - !ruby/object:Gem::Version
165
- version: '0'
165
+ version: 3.1.0
166
166
  required_rubygems_version: !ruby/object:Gem::Requirement
167
167
  requirements:
168
168
  - - ">="