opening_hours_converter 1.7.12 → 1.7.13
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 30b75efae1d2074a90198d343b7d48bd98e0b5b2
|
4
|
+
data.tar.gz: e54c64bfec49c98b6bf1efba450b8414e293866b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b37b12e0c001ef29dcf4bd301fc4421198b4909a209235a72c09c9b4f92b47fd540a1ab5a5a2da8339dd5da958123d4e670b2f61659bdd93985fecfcf0af7a97
|
7
|
+
data.tar.gz: 98e04d292316f92a63d7e56f782d6447b54ede78aab84c502b8785622e6a1c01bdee15048b1b4feca7016ccabc95a874538e9cb35c345497b7b93472e16d879e
|
@@ -10,7 +10,6 @@ module OpeningHoursConverter
|
|
10
10
|
|
11
11
|
date_ranges.each do |date_range|
|
12
12
|
years = OpeningHoursConverter::Year.build_day_array_from_date_range(date_range, true)
|
13
|
-
|
14
13
|
result = []
|
15
14
|
|
16
15
|
year_start = -1
|
@@ -70,6 +69,8 @@ module OpeningHoursConverter
|
|
70
69
|
end
|
71
70
|
date_ranges_array = get_iterator(date_ranges)
|
72
71
|
datetime_result = []
|
72
|
+
|
73
|
+
|
73
74
|
date_ranges_array.each_with_index do |result, index|
|
74
75
|
result.each do |interval|
|
75
76
|
(interval[:start]..interval[:end]).each do |day|
|
@@ -89,6 +90,7 @@ module OpeningHoursConverter
|
|
89
90
|
end
|
90
91
|
end
|
91
92
|
end
|
93
|
+
|
92
94
|
datetime_result.sort {|a,b| a[:start] <=> b[:start]}
|
93
95
|
|
94
96
|
end
|
@@ -133,7 +135,6 @@ module OpeningHoursConverter
|
|
133
135
|
def next_state(opening_hours_string, time=Time.now)
|
134
136
|
date_ranges = OpeningHoursConverter::OpeningHoursParser.new.parse(opening_hours_string)
|
135
137
|
ti = get_time_iterator(date_ranges)
|
136
|
-
|
137
138
|
ti.each_with_index do |interval, index|
|
138
139
|
return {end: interval[:end]} if interval[:start] <= time && interval[:end] >= time
|
139
140
|
return {start: interval[:start]} if interval[:start] > time && ti[index-1][:end] <= time
|
@@ -11,14 +11,19 @@ module OpeningHoursConverter
|
|
11
11
|
range_general = nil
|
12
12
|
range_general_for = nil
|
13
13
|
day_ph = false
|
14
|
+
off_day_ph = false
|
14
15
|
|
15
16
|
date_ranges.each_with_index do |date_range, date_range_index|
|
16
17
|
if !date_range.nil?
|
17
18
|
if date_range.typical.intervals.length != 1
|
18
19
|
date_range.typical.intervals.each_with_index do |interval, interval_id|
|
19
20
|
if interval&.day_start == -2 && interval&.day_start == interval&.day_end
|
21
|
+
if interval.is_off
|
22
|
+
off_day_ph = true
|
23
|
+
else
|
24
|
+
day_ph = true
|
25
|
+
end
|
20
26
|
date_range.typical.remove_interval(interval_id)
|
21
|
-
day_ph = true
|
22
27
|
end
|
23
28
|
end
|
24
29
|
end
|
@@ -52,6 +57,8 @@ module OpeningHoursConverter
|
|
52
57
|
oh_rules = build_day(date_range)
|
53
58
|
end
|
54
59
|
|
60
|
+
|
61
|
+
|
55
62
|
oh_rules.each_with_index do |rule, i|
|
56
63
|
oh_rules[i].add_comment(date_range.comment)
|
57
64
|
end
|
@@ -90,6 +97,10 @@ module OpeningHoursConverter
|
|
90
97
|
oh_rule.add_ph_weekday
|
91
98
|
end
|
92
99
|
|
100
|
+
if off_day_ph
|
101
|
+
rules += build_off_holiday(date_range)
|
102
|
+
end
|
103
|
+
|
93
104
|
if !oh_rule_added
|
94
105
|
rules << oh_rule
|
95
106
|
end
|
@@ -125,6 +136,21 @@ module OpeningHoursConverter
|
|
125
136
|
return result.strip
|
126
137
|
end
|
127
138
|
|
139
|
+
def build_off_holiday(date_range)
|
140
|
+
|
141
|
+
start_year = date_range.wide_interval.start&.key?(:year) ? date_range.wide_interval.start[:year] : date_range.wide_interval.start
|
142
|
+
end_year = date_range.wide_interval.end&.key?(:year) ? date_range.wide_interval.end[:year] : date_range.wide_interval.end
|
143
|
+
|
144
|
+
date_range = OpeningHoursConverter::DateRange.new(OpeningHoursConverter::WideInterval.new.holiday("PH", start_year, end_year))
|
145
|
+
|
146
|
+
rule = OpeningHoursConverter::OpeningHoursRule.new
|
147
|
+
date = OpeningHoursConverter::OpeningHoursDate.new(date_range.wide_interval, date_range.wide_interval.type, [-1])
|
148
|
+
rule.add_date(date)
|
149
|
+
rule.is_defined_off = true
|
150
|
+
|
151
|
+
return [ rule ]
|
152
|
+
end
|
153
|
+
|
128
154
|
def build_holiday(date_range)
|
129
155
|
|
130
156
|
start_year = date_range.wide_interval.start&.key?(:year) ? date_range.wide_interval.start[:year] : date_range.wide_interval.start
|
@@ -254,7 +254,7 @@ module OpeningHoursConverter
|
|
254
254
|
end
|
255
255
|
|
256
256
|
def same_time?(o)
|
257
|
-
if o.nil? || o.time.length != @time.length
|
257
|
+
if o.nil? || o.time.length != @time.length || @is_defined_off != o.is_defined_off
|
258
258
|
return false
|
259
259
|
else
|
260
260
|
@time.each_with_index do |t, i|
|
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.7.
|
4
|
+
version: 1.7.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ziserman Martin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|