opening_hours_converter 1.14.0 → 1.14.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: 1840d4011474e210bb2248979afc8850829c4eab62b0cb2036a670a70ded1265
4
- data.tar.gz: 0710a806e7ac90d3b61d83bd9281acb1c56546aabb504d8b4961f5eeb05ca1b4
3
+ metadata.gz: 7a4dff7e35eca094060900cf6a0062c57a9a2e5c56bed81e3989d8758a7e7a30
4
+ data.tar.gz: a2221f771abd53d104b043cac1fab9928f734ba666a84494e63599ba053dee49
5
5
  SHA512:
6
- metadata.gz: 5160c41e2242e1489b1daddecef9068c3218d9726b7f6c0871176d323796035df2b1d491018b13506e88bbf33212df6549063a5ed81559ad645ac5e59a579962
7
- data.tar.gz: 6e3c009bfb86cfda6a516ee4c86b49cc165211ee323981b20d74b778938249cb88a436601517659a4b17c8d4bc26119dec0e171ef94c6685094a9d8ee407ba6f
6
+ metadata.gz: 893fa9f68831242e10c5e819b9a1097fb8269c3bb2526dfe33bb5024c4f20012b9fe8252d7ed30efa02e7e7a0ec46a8d92971f8de62370a1b2307cb4dd7cbe5c
7
+ data.tar.gz: 398d37c9a90d1656ef6cd4e872e17bf22bb579fabd73291996a38e06d41f8cfb838488a5bae9ce655b528e414edc9135d5c76e82aa0df247359aca980c75bf21
@@ -67,7 +67,7 @@ module OpeningHoursConverter
67
67
  rule_index = 0
68
68
 
69
69
  while !oh_rule_added && rule_index < rules.length
70
- if rules[rule_index].same_time?(oh_rule) && !rules[rule_index].equals(oh_rule) && rules[rule_index].comment == oh_rule.comment
70
+ if rules[rule_index].mergeable?(oh_rule) && rules[rule_index].same_time?(oh_rule) && !rules[rule_index].equals(oh_rule) && rules[rule_index].comment == oh_rule.comment && rules[rule_index].comment != "off" && oh_rule.comment != "off"
71
71
  begin
72
72
  for date_id in 0...oh_rule.date.length
73
73
  rules[rule_index].add_date(oh_rule.date[date_id])
@@ -294,6 +294,17 @@ module OpeningHoursConverter
294
294
  end
295
295
  end
296
296
 
297
+ def mergeable?(o)
298
+ if o.nil? || o.date.length != @date.length
299
+ true
300
+ else
301
+ @date.each_with_index do |d, i|
302
+ return false if (d.wide_interval.start&.dig(:year) != o.date[i].wide_interval.start&.dig(:year)) && d.wide_interval.type != o.date[i].wide_interval.type
303
+ end
304
+ true
305
+ end
306
+ end
307
+
297
308
  def equals(o)
298
309
  return false unless o.instance_of?(OpeningHoursConverter::OpeningHoursRule)
299
310
  (same_time?(o) && same_date?(o))
@@ -67,6 +67,12 @@ module OpeningHoursConverter
67
67
  next
68
68
  end
69
69
 
70
+ if current_token.colon?
71
+ # catches "Dec: "
72
+ @index += 1
73
+ next
74
+ end
75
+
70
76
  raise ParseError, "can't read current token #{current_token}"
71
77
  end
72
78
  end
@@ -519,7 +519,7 @@ module OpeningHoursConverter
519
519
  if self_to_day.is_a?(Array)
520
520
  if o_to_day.is_a?(Array)
521
521
  return false unless o_to_day.length == self_to_day.length
522
- return self_to_day.all? do |self_day|
522
+ return self.start == o.start && self_to_day.all? do |self_day|
523
523
  o_to_day.any? do |o_day|
524
524
  self_day.equals(o_day)
525
525
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opening_hours_converter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 1.14.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ziserman Martin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-06 00:00:00.000000000 Z
11
+ date: 2023-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json