opening_hours_converter 1.14.3 → 1.14.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 61c9f39ea1892679f76822561dd11b33f185549cea33c1d270a02fa7ac097660
4
- data.tar.gz: 852c01645d72c6f7d694315565796c72909e9a7d6a1338fcf8d478ea9dde02b4
3
+ metadata.gz: 6e2dd9ba463b1a9d5099d0aaff9d0e45ac2b64e9fe5d6c389f59a08536ae0db3
4
+ data.tar.gz: 908adadadb685f46a8f6350bde2270686fe5748646be7ce7aded1a1e98419e33
5
5
  SHA512:
6
- metadata.gz: 5807378ab97473627243d9037baeaef40cd8c25851756b791c1abc81f7bf21e6066581afe33524b58085e224cfeeac24a4b1b2c54cd67d21abc0233cd8d783b0
7
- data.tar.gz: fba5e0c27e71cd9e7d27d189db972b022d92e70d89fc47cf236fd6de58c9db86f970e181d6c54da72d42f01fd830a1f5250f54fc3a61dfa5a900760b17101ea5
6
+ metadata.gz: 0f2af7c3534b1d2c41f54e5ea2beb1db7361ae56d30a555cc220db0d192673cbcc27bd060a15aed7b42853a1d007f18cd66e0bb3a7cde12d09e4cbf384d9cdd7
7
+ data.tar.gz: eff0acc84f452cfa90512ca11e4e0c527a4222475ddb3feae7e442881c40fe590707a22c1b98a33fdecbc88e422d3fd5d84d1e71a8a2fefb5c89922d0a9dd52e
@@ -338,7 +338,15 @@ module OpeningHoursConverter
338
338
  else
339
339
  week_index.to_i
340
340
  end
341
- }
341
+ }.sort_by do |index|
342
+ if index.is_a?(Integer)
343
+ index
344
+ elsif index.is_a?(Hash)
345
+ index[:from]
346
+ else
347
+ 0
348
+ end
349
+ end
342
350
 
343
351
  { year_from: years[0].to_i, week_indexes: indexes }.tap do |hsh|
344
352
  hsh[:year_to] = years.length > 1 ? years[1].to_i : nil
@@ -283,6 +283,7 @@ module OpeningHoursConverter
283
283
  end
284
284
  end
285
285
 
286
+
286
287
  def same_date?(o)
287
288
  if o.nil? || o.date.length != @date.length
288
289
  false
@@ -295,12 +296,23 @@ module OpeningHoursConverter
295
296
  end
296
297
 
297
298
  def mergeable?(o)
298
- if o.nil? || o.date.length != @date.length
299
+ return true if o.nil?
300
+
301
+ if o.date.length != @date.length
302
+ if @date.any? { |date| date.wide_interval.type == "week" }
303
+ indexes = (@date + o.date).map do |date|
304
+ date.wide_interval.indexes
305
+ end.uniq
306
+
307
+ return false if indexes.length > 1
308
+ end
309
+
299
310
  true
300
311
  else
301
312
  @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
313
+ 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 || (d.wide_interval.type == "week" && o.date[i].wide_interval.type == "week" && d.wide_interval.indexes != o.date[i].wide_interval.indexes)
303
314
  end
315
+
304
316
  true
305
317
  end
306
318
  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.3
4
+ version: 1.14.5
5
5
  platform: ruby
6
6
  authors:
7
- - Ziserman Martin
7
+ - Publidata
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-21 00:00:00.000000000 Z
11
+ date: 2024-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json