opening_hours_converter 1.13.14 → 1.13.17

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: '00159189d902d1f186853f6ec21e6547f519a4aa287f1345207726c407544c73'
4
- data.tar.gz: 811ea32145a84b1d223ed273eb24ce3780f93cbacd968444eaec97c7c8761792
3
+ metadata.gz: f84de92905d530dba2e826eea1a88045fb521cf5a24803f9f0b040574ae05ea4
4
+ data.tar.gz: a464fcc26ebe69fcd7cf8f88cfa992eea87c2c35453710e6f32b407a101c567b
5
5
  SHA512:
6
- metadata.gz: f551d277daa96358792f80c6535a170155d27c6e030466ba7e834882f4b7cb1c8e7397af72e64ee6e22c5dfe3dd92426041ce7c133234e3afd69d6826c21cfbc
7
- data.tar.gz: 4eb66cd74374778dd58727d3e77d1c6293e878f6d1621d262636895f212bc92deee4e0b62e966df37c2b64f9cd37961e86d1cbef0cb917d0740f3c19609ab746
6
+ metadata.gz: f287f0439e502deeac6fc574085526fdf83fb188412287ba025a87b948902ceaeaba3191e3300f866e76baa8530e9ca80150561e4f3ec3cab11c1de930f9b7d4
7
+ data.tar.gz: 28548d677e6e763fa1dbf676b8b7f5fd4f6e2c0f045276a8594231b51ecf7665dfebd7b4ff9683e414ca1d41ad180bdc8548b981b91262b1dc7faf7a12a913c5
@@ -68,8 +68,20 @@ module OpeningHoursConverter
68
68
  is_ph = false
69
69
  year = nil
70
70
  year_ph = nil
71
- date_ranges.each do |dr|
72
- is_ph = true if dr.is_holiday?
71
+ date_ranges.each do |date_range|
72
+ is_ph = true if date_range.is_holiday?
73
+ end
74
+
75
+ date_ranges = date_ranges.flat_map do |date_range|
76
+ if date_range.wide_interval.type == 'week' # Generate date range list from week syntax
77
+ date_range.wide_interval.to_day.map do |day|
78
+ day_range = date_range.dup
79
+ day_range.update_range(day)
80
+ day_range
81
+ end
82
+ else
83
+ date_range
84
+ end
73
85
  end
74
86
 
75
87
  date_ranges_array = get_iterator(date_ranges)
@@ -82,6 +94,7 @@ module OpeningHoursConverter
82
94
  year = day.year
83
95
  year_ph = PublicHoliday.ph_for_year(year)
84
96
  end
97
+
85
98
  date_ranges[index].typical.intervals.each do |i|
86
99
  next unless !i.nil? && !i.is_off
87
100
 
@@ -48,7 +48,7 @@ module OpeningHoursConverter
48
48
  end
49
49
 
50
50
  # get state and time associated with weekdays
51
- while @current_token >= 0 && (is_rule_modifier?(tokens[@current_token]) || is_time?(tokens[@current_token]))
51
+ while @current_token >= 0 && (is_rule_modifier?(tokens[@current_token]) || is_time?(tokens[@current_token])) || is_weekday?(tokens[@current_token])
52
52
  if is_rule_modifier?(tokens[@current_token])
53
53
  local_modifier = tokens[@current_token].downcase
54
54
  @current_token -= 1
@@ -72,6 +72,11 @@ module OpeningHoursConverter
72
72
  local_times.concat get_times(time_selector)
73
73
  @current_token -= 1
74
74
  end
75
+
76
+ if local_times.empty?
77
+ local_times.concat get_times("00:00-23:59")
78
+ end
79
+
75
80
  begin
76
81
  weekday_selector = tokens[@current_token]
77
82
  weekdays_and_holidays = get_weekdays(weekday_selector)
@@ -125,13 +130,12 @@ module OpeningHoursConverter
125
130
  elsif !(@regex_handler.week_regex =~ wide_range_selector).nil?
126
131
  weeks << get_week(wide_range_selector)
127
132
  else
133
+
128
134
  raise ParseError, "Unsupported selector #{wide_range_selector}"
129
135
  end
130
136
  end
131
137
  end
132
138
 
133
- raise ParseError, 'Unreadable string' if @current_token == tokens.length - 1
134
-
135
139
  # puts "weekdays : #{weekdays}"
136
140
  # puts "weeks : #{weeks}"
137
141
  # puts "months : #{months}"
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.13.14
4
+ version: 1.13.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ziserman Martin
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-16 00:00:00.000000000 Z
11
+ date: 2022-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -100,7 +100,7 @@ homepage: https://github.com/Publidata/opening_hours_converter
100
100
  licenses:
101
101
  - AGPL-3.0
102
102
  metadata: {}
103
- post_install_message:
103
+ post_install_message:
104
104
  rdoc_options: []
105
105
  require_paths:
106
106
  - lib
@@ -116,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
116
  version: '0'
117
117
  requirements: []
118
118
  rubygems_version: 3.1.2
119
- signing_key:
119
+ signing_key:
120
120
  specification_version: 4
121
121
  summary: Datetime range to opening hours, opening hours to datetime range
122
122
  test_files: []