opening_hours_converter 0.0.2 → 0.0.3
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 +4 -4
- data/lib/opening_hours_converter/opening_hours_parser.rb +131 -242
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d3d220396767c052612ffa5d62d86e1b862f834
|
4
|
+
data.tar.gz: 46759c801d7003a905028e1d9ff2bbe45f8ceab8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68dbbf968aa6cf83f2e6bf1c78a148d378ea49a1ff2fc5c59aa3c7b750378ae51301075cb54cac1844c4b79cbd887ed93d184393b63e4c9a12e11d9654c6f4a5
|
7
|
+
data.tar.gz: 2d7a47fc9f4abd2536aae277843a59dda19ce31fc805a8f1d903cd06804477376d813a47d9a574cfa6833d1e04c868c28d648de0a0dc17d79b36b362439b98ea
|
@@ -14,9 +14,6 @@ module OpeningHoursConverter
|
|
14
14
|
@RGX_WEEKDAY = /^(((Mo|Tu|We|Th|Fr|Sa|Su)(\-(Mo|Tu|We|Th|Fr|Sa|Su))?)|(PH|SH|easter))(,(((Mo|Tu|We|Th|Fr|Sa|Su)(\-(Mo|Tu|We|Th|Fr|Sa|Su))?)|(PH|SH|easter)))*$/
|
15
15
|
@RGX_HOLIDAY = /^(PH|SH|easter)$/
|
16
16
|
@RGX_WD = /^(Mo|Tu|We|Th|Fr|Sa|Su)(\-(Mo|Tu|We|Th|Fr|Sa|Su))?$/
|
17
|
-
@RGX_YEAR = /^(\d{4})(\-(\d{4}))?$/
|
18
|
-
@RGX_YEAR_MONTH_DAY = /^(\d{4}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ([012]?[0-9]|3[01])(\-((\d{4}) )?((Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) )?([012]?[0-9]|3[01]))?\:?$/
|
19
|
-
@RGX_YEAR_MONTH = /^(\d{4}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)(\-((\d{4}) )?((Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)))?\:?$/
|
20
17
|
end
|
21
18
|
|
22
19
|
def parse(oh)
|
@@ -33,19 +30,18 @@ module OpeningHoursConverter
|
|
33
30
|
weekdays = nil
|
34
31
|
weeks = nil
|
35
32
|
months = nil
|
36
|
-
|
33
|
+
|
34
|
+
single_time = nil
|
35
|
+
from = nil
|
36
|
+
to = nil
|
37
37
|
|
38
38
|
single_month = nil
|
39
39
|
month_from = nil
|
40
40
|
month_to = nil
|
41
41
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
single_year = nil
|
47
|
-
year_from = nil
|
48
|
-
year_to = nil
|
42
|
+
single_week = nil
|
43
|
+
week_from = nil
|
44
|
+
week_to = nil
|
49
45
|
|
50
46
|
date_ranges = nil
|
51
47
|
date_range = nil
|
@@ -65,10 +61,29 @@ module OpeningHoursConverter
|
|
65
61
|
current_token -= 1
|
66
62
|
end
|
67
63
|
|
64
|
+
|
65
|
+
# get time selector
|
66
|
+
from = nil
|
67
|
+
to = nil
|
68
68
|
times = []
|
69
69
|
if current_token >= 0 && is_time?(tokens[current_token])
|
70
70
|
time_selector = tokens[current_token]
|
71
|
-
|
71
|
+
|
72
|
+
if time_selector == "24/7"
|
73
|
+
times << {from: 0, to: 24*60}
|
74
|
+
else
|
75
|
+
time_selector = time_selector.split(',')
|
76
|
+
time_selector.each do |ts|
|
77
|
+
single_time = ts.split('-')
|
78
|
+
from = as_minutes(single_time[0])
|
79
|
+
if single_time.length > 1
|
80
|
+
to = as_minutes(single_time[1])
|
81
|
+
else
|
82
|
+
to = from
|
83
|
+
end
|
84
|
+
times << {from: from, to: to}
|
85
|
+
end
|
86
|
+
end
|
72
87
|
current_token -= 1
|
73
88
|
end
|
74
89
|
|
@@ -78,66 +93,120 @@ module OpeningHoursConverter
|
|
78
93
|
weekdays << {from: 0, to: 6}
|
79
94
|
elsif current_token >= 0 && is_weekday?(tokens[current_token])
|
80
95
|
weekday_selector = tokens[current_token]
|
81
|
-
|
96
|
+
weekday_selector = weekday_selector.split(',')
|
97
|
+
weekday_selector.each do |wd|
|
98
|
+
if !(@RGX_HOLIDAY =~ wd).nil?
|
99
|
+
elsif !(@RGX_WD =~ wd).nil?
|
100
|
+
single_weekday = wd.split('-')
|
101
|
+
wd_from = OSM_DAYS.find_index(single_weekday[0])
|
102
|
+
if single_weekday.length > 1
|
103
|
+
wd_to = OSM_DAYS.find_index(single_weekday[1])
|
104
|
+
else
|
105
|
+
wd_to = wd_from
|
106
|
+
end
|
107
|
+
|
108
|
+
weekdays << {from: wd_from, to: wd_to}
|
109
|
+
else
|
110
|
+
raise ArgumentError, "Invalid weekday interval : #{wd}"
|
111
|
+
end
|
112
|
+
end
|
82
113
|
current_token -= 1
|
83
114
|
end
|
84
115
|
|
85
|
-
|
86
|
-
# if current_token >= 0 && is_year?(tokens[current_token])
|
87
|
-
# year_selector = tokens[current_token]
|
88
|
-
# year_selector = year_selector.split(',')
|
89
|
-
# year_selector.each do |y|
|
90
|
-
# single_year = y.gsub(/\:$/, '').split('-')
|
91
|
-
# year_from = single_year[0]
|
92
|
-
# if single_year.length > 1
|
93
|
-
# year_to = single_year[1]
|
94
|
-
# else
|
95
|
-
# year_to = year_from
|
96
|
-
# end
|
97
|
-
|
98
|
-
# years << {from: year_from, to: year_to}
|
99
|
-
# end
|
100
|
-
# current_token -= 1
|
101
|
-
# end
|
102
|
-
|
116
|
+
weeks = []
|
103
117
|
months = []
|
104
|
-
years = []
|
105
118
|
if current_token >= 0
|
106
|
-
|
107
119
|
wide_range_selector = tokens[0]
|
108
120
|
for i in 1..current_token
|
109
121
|
wide_range_selector += " #{tokens[i]}"
|
110
122
|
end
|
111
123
|
if wide_range_selector.length > 0
|
112
|
-
wide_range_selector = wide_range_selector.
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
months << get_month(wrs)
|
123
|
-
elsif !(@RGX_YEAR =~ wrs).nil?
|
124
|
-
|
125
|
-
years << {from: year_from, to: year_to}
|
126
|
-
else
|
127
|
-
raise ArgumentError, "Unsupported selector #{wrs}"
|
124
|
+
wide_range_selector = wide_range_selector.gsub(/\:$/, '').split('week')
|
125
|
+
month_selector = wide_range_selector[0].strip
|
126
|
+
if month_selector.length == 0
|
127
|
+
month_selector = nil
|
128
|
+
end
|
129
|
+
|
130
|
+
if wide_range_selector.length > 1
|
131
|
+
week_selector = wide_range_selector[1].strip
|
132
|
+
if week_selector.length == 0
|
133
|
+
week_selector = nil
|
128
134
|
end
|
135
|
+
else
|
136
|
+
week_selector = nil
|
137
|
+
end
|
138
|
+
|
139
|
+
if (!month_selector.nil? && !week_selector.nil?)
|
140
|
+
raise ArgumentError, "unsupported simultaneous month and week selector"
|
141
|
+
elsif !month_selector.nil?
|
142
|
+
month_selector = month_selector.split(',')
|
143
|
+
|
144
|
+
month_selector.each do |ms|
|
145
|
+
if ms == "SH"
|
146
|
+
elsif !(@RGX_MONTH =~ ms).nil?
|
147
|
+
single_month = ms.split('-')
|
148
|
+
month_from = OSM_MONTHS.find_index(single_month[0]) + 1
|
149
|
+
if month_from < 1
|
150
|
+
raise ArgumentError, "Invalid month : #{single_month[0]}"
|
151
|
+
end
|
152
|
+
|
153
|
+
if single_month.length > 1
|
154
|
+
month_to = OSM_MONTHS.find_index(single_month[1]) + 1
|
155
|
+
if month_to < 1
|
156
|
+
raise ArgumentError, "Invalid month : #{single_month[1]}"
|
157
|
+
end
|
158
|
+
else
|
159
|
+
month_to = month_from
|
160
|
+
end
|
161
|
+
months << {from: month_from, to: month_to}
|
162
|
+
elsif !(@RGX_MONTHDAY =~ ms).nil?
|
163
|
+
single_month = ms.gsub(/\:$/, '').split('-')
|
164
|
+
|
165
|
+
month_from = single_month[0].split(' ')
|
166
|
+
month_from = { day: month_from[1].to_i, month: OSM_MONTHS.find_index(month_from[0]) + 1 }
|
167
|
+
if month_from[:month] < 1
|
168
|
+
raise ArgumentError, "Invalid month : #{month_from.inspect}"
|
169
|
+
end
|
170
|
+
|
171
|
+
if single_month.length > 1
|
172
|
+
month_to = single_month[1].split(' ')
|
173
|
+
month_to = { day: month_to[1].to_i, month: OSM_MONTHS.find_index(month_to[0]) + 1 }
|
174
|
+
if month_to[:month] < 1
|
175
|
+
raise ArgumentError, "Invalid month : #{month_to.inspect}"
|
176
|
+
end
|
177
|
+
else
|
178
|
+
month_to = nil
|
179
|
+
end
|
180
|
+
months << {from_day: month_from, to_day: month_to}
|
181
|
+
else
|
182
|
+
raise ArgumentError, "Unsupported month selector #{ms}"
|
183
|
+
end
|
184
|
+
end
|
185
|
+
elsif !week_selector.nil?
|
186
|
+
week_selector = week_selector.split(',')
|
187
|
+
week_selector.each do |ws|
|
188
|
+
single_week = ws.split('-')
|
189
|
+
week_from = single_week[0].to_i
|
190
|
+
if single_week.length > 1
|
191
|
+
week_to = single_week[1].to_i
|
192
|
+
else
|
193
|
+
week_to = nil
|
194
|
+
end
|
195
|
+
weeks << {from: week_from, to: week_to}
|
196
|
+
end
|
197
|
+
else
|
198
|
+
raise ArgumentError, "Invalid date selector"
|
129
199
|
end
|
130
200
|
end
|
131
201
|
end
|
132
|
-
|
133
202
|
if current_token == tokens.length - 1
|
134
203
|
raise ArgumentError, "Unreadable string"
|
135
204
|
end
|
136
|
-
puts "months : #{months}"
|
137
|
-
puts "
|
138
|
-
puts "
|
139
|
-
puts "
|
140
|
-
puts "rule_modifier : #{rule_modifier}"
|
205
|
+
# puts "months : #{months}"
|
206
|
+
# puts "weeks : #{weeks}"
|
207
|
+
# puts "weekdays : #{weekdays}"
|
208
|
+
# puts "times : #{times}"
|
209
|
+
# puts "rule_modifier : #{rule_modifier}"
|
141
210
|
|
142
211
|
date_ranges = []
|
143
212
|
|
@@ -145,41 +214,26 @@ module OpeningHoursConverter
|
|
145
214
|
months.each do |month|
|
146
215
|
if !month[:from_day].nil?
|
147
216
|
if !month[:to_day].nil?
|
148
|
-
date_range = OpeningHoursConverter::WideInterval.new.day(month[:from_day][:day], month[:from_day][:month],
|
217
|
+
date_range = OpeningHoursConverter::WideInterval.new.day(month[:from_day][:day], month[:from_day][:month], month[:to_day][:day], month[:to_day][:month])
|
149
218
|
else
|
150
219
|
date_range = OpeningHoursConverter::WideInterval.new.day(month[:from_day][:day], month[:from_day][:month])
|
151
220
|
end
|
152
221
|
date_ranges << date_range
|
153
222
|
else
|
154
223
|
if !month[:to].nil?
|
155
|
-
date_range = OpeningHoursConverter::WideInterval.new.month(month[:from],
|
224
|
+
date_range = OpeningHoursConverter::WideInterval.new.month(month[:from], month[:to])
|
156
225
|
else
|
157
226
|
date_range = OpeningHoursConverter::WideInterval.new.month(month[:from])
|
158
227
|
end
|
159
228
|
date_ranges << date_range
|
160
229
|
end
|
161
230
|
end
|
162
|
-
elsif
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
if !year[:from_day].nil?
|
167
|
-
date_range = OpeningHoursConverter::WideInterval.new.day(year[:from_day][:day], year[:from_day][:month], year[:from_day][:year],
|
168
|
-
year[:to_day][:day], year[:to_day][:month], year[:to_day][:year])
|
169
|
-
elsif !year[:from_month].nil?
|
170
|
-
date_range = OpeningHoursConverter::WideInterval.new.month(year[:from_month][:month], year[:from_month][:year],
|
171
|
-
year[:to_month][:month], year[:to_month][:year])
|
172
|
-
else
|
173
|
-
date_range = OpeningHoursConverter::WideInterval.new.year(year[:from], year[:to])
|
174
|
-
end
|
231
|
+
elsif weeks.length > 0
|
232
|
+
weeks.each do |week|
|
233
|
+
if !week[:to].nil?
|
234
|
+
date_range = OpeningHoursConverter::WideInterval.new.week(week[:from], week[:to])
|
175
235
|
else
|
176
|
-
|
177
|
-
date_range = OpeningHoursConverter::WideInterval.new.month(year[:from_month][:month], year[:from_month][:year])
|
178
|
-
elsif !year[:from_day].nil?
|
179
|
-
date_range = OpeningHoursConverter::WideInterval.new.day(year[:from_day][:day], year[:from_day][:month], year[:from_day][:year])
|
180
|
-
else
|
181
|
-
date_range = OpeningHoursConverter::WideInterval.new.year(year[:from])
|
182
|
-
end
|
236
|
+
date_range = OpeningHoursConverter::WideInterval.new.week(week[:from])
|
183
237
|
end
|
184
238
|
date_ranges << date_range
|
185
239
|
end
|
@@ -264,168 +318,6 @@ module OpeningHoursConverter
|
|
264
318
|
return result
|
265
319
|
end
|
266
320
|
|
267
|
-
def get_year(wrs)
|
268
|
-
single_year = wrs.gsub(/\:$/, '').split('-')
|
269
|
-
year_from = single_year[0].to_i
|
270
|
-
if year_from < 1
|
271
|
-
raise ArgumentError, "Invalid year : #{single_year[0]}"
|
272
|
-
end
|
273
|
-
|
274
|
-
if single_year.length > 1
|
275
|
-
year_to = single_year[1].to_i
|
276
|
-
if year_to < 1
|
277
|
-
raise ArgumentError, "Invalid year : #{single_year[1]}"
|
278
|
-
end
|
279
|
-
else
|
280
|
-
year_to = nil
|
281
|
-
end
|
282
|
-
{ from: year_from, to: year_to }
|
283
|
-
end
|
284
|
-
|
285
|
-
def get_month(wrs)
|
286
|
-
single_month = wrs.gsub(/\:$/, '').split('-')
|
287
|
-
month_from = OSM_MONTHS.find_index(single_month[0]) + 1
|
288
|
-
if month_from < 1
|
289
|
-
raise ArgumentError, "Invalid month : #{single_month[0]}"
|
290
|
-
end
|
291
|
-
|
292
|
-
if single_month.length > 1
|
293
|
-
month_to = OSM_MONTHS.find_index(single_month[1]) + 1
|
294
|
-
if month_to < 1
|
295
|
-
raise ArgumentError, "Invalid month : #{single_month[1]}"
|
296
|
-
end
|
297
|
-
else
|
298
|
-
month_to = month_from
|
299
|
-
end
|
300
|
-
{ from: month_from, to: month_to }
|
301
|
-
end
|
302
|
-
|
303
|
-
def get_month_day(wrs)
|
304
|
-
single_month = wrs.gsub(/\:$/, '').split('-')
|
305
|
-
|
306
|
-
month_from = single_month[0].split(' ')
|
307
|
-
month_from = { day: month_from[1].to_i, month: OSM_MONTHS.find_index(month_from[0]) + 1 }
|
308
|
-
if month_from[:month] < 1
|
309
|
-
raise ArgumentError, "Invalid month : #{month_from.inspect}"
|
310
|
-
end
|
311
|
-
|
312
|
-
if single_month.length > 1
|
313
|
-
month_to = single_month[1].split(' ')
|
314
|
-
month_to = { day: month_to[1].to_i, month: OSM_MONTHS.find_index(month_to[0]) + 1 }
|
315
|
-
if month_to[:month] < 1
|
316
|
-
raise ArgumentError, "Invalid month : #{month_to.inspect}"
|
317
|
-
end
|
318
|
-
else
|
319
|
-
month_to = nil
|
320
|
-
end
|
321
|
-
{ from_day: month_from, to_day: month_to }
|
322
|
-
end
|
323
|
-
|
324
|
-
def get_year_month(wrs)
|
325
|
-
single_year_month = wrs.gsub(/\:$/, '').split('-')
|
326
|
-
year_month_from = single_year_month[0].split(' ')
|
327
|
-
year_month_from = { month: OSM_MONTHS.find_index(year_month_from[1]) + 1, year: year_month_from[0].to_i }
|
328
|
-
if year_month_from.length < 1
|
329
|
-
raise ArgumentError, "Invalid year_month : #{year_month_from.inspect}"
|
330
|
-
end
|
331
|
-
if single_year_month.length > 1
|
332
|
-
year_month_to = single_year_month[1].split(' ')
|
333
|
-
if year_month_to.length == 2
|
334
|
-
year_month_to = { month: OSM_MONTHS.find_index(year_month_to[1]) + 1, year: year_month_to[0].to_i }
|
335
|
-
elsif year_month_to.length == 1
|
336
|
-
year_month_to = { month: OSM_MONTHS.find_index(year_month_to[1]) + 1, year: year_month_from[:year] }
|
337
|
-
end
|
338
|
-
if year_month_to.length < 1
|
339
|
-
raise ArgumentError, "Invalid year_month : #{year_month_to.inspect}"
|
340
|
-
end
|
341
|
-
else
|
342
|
-
year_month_to = nil
|
343
|
-
end
|
344
|
-
{ from_month: year_month_from, to_month: year_month_to }
|
345
|
-
end
|
346
|
-
|
347
|
-
def get_year_month_day(wrs)
|
348
|
-
single_year_month_day = wrs.gsub(/\:$/, '').split('-')
|
349
|
-
year_month_day_from = single_year_month_day[0].split(' ')
|
350
|
-
year_month_day_from = { day: year_month_day_from[2].to_i,
|
351
|
-
month: OSM_MONTHS.find_index(year_month_day_from[1]) + 1,
|
352
|
-
year: year_month_day_from[0].to_i }
|
353
|
-
if year_month_day_from.length < 1
|
354
|
-
raise ArgumentError, "Invalid year_month_day : #{year_month_day_from.inspect}"
|
355
|
-
end
|
356
|
-
if single_year_month_day.length > 1
|
357
|
-
year_month_day_to = single_year_month_day[1].split(' ')
|
358
|
-
if year_month_day_to.length == 3
|
359
|
-
year_month_day_to = { day: year_month_day_to[2].to_i,
|
360
|
-
month: OSM_MONTHS.find_index(year_month_day_to[1]) + 1,
|
361
|
-
year: year_month_day_to[0].to_i }
|
362
|
-
elsif year_month_day_to.length == 2
|
363
|
-
year_month_day_to = { day: year_month_day_to[1].to_i,
|
364
|
-
month: OSM_MONTHS.find_index(year_month_day_to[0]) + 1,
|
365
|
-
year: year_month_day_from[:year] }
|
366
|
-
elsif year_month_day_to.length == 1
|
367
|
-
year_month_day_to = { day: year_month_day_to[0].to_i,
|
368
|
-
month: year_month_day_from[:month],
|
369
|
-
year: year_month_day_from[:year] }
|
370
|
-
end
|
371
|
-
if year_month_day_to.length < 1
|
372
|
-
raise ArgumentError, "Invalid year_month_day : #{year_month_day_to.inspect}"
|
373
|
-
end
|
374
|
-
else
|
375
|
-
year_month_day_to = nil
|
376
|
-
end
|
377
|
-
|
378
|
-
{ from_day: year_month_day_from, to_day: year_month_day_to }
|
379
|
-
end
|
380
|
-
|
381
|
-
def get_times(time_selector)
|
382
|
-
times = []
|
383
|
-
from = nil
|
384
|
-
to = nil
|
385
|
-
if time_selector == "24/7"
|
386
|
-
times << {from: 0, to: 24*60}
|
387
|
-
else
|
388
|
-
time_selector = time_selector.split(',')
|
389
|
-
time_selector.each do |ts|
|
390
|
-
single_time = ts.split('-')
|
391
|
-
from = as_minutes(single_time[0])
|
392
|
-
if single_time.length > 1
|
393
|
-
to = as_minutes(single_time[1])
|
394
|
-
else
|
395
|
-
to = from
|
396
|
-
end
|
397
|
-
times << {from: from, to: to}
|
398
|
-
end
|
399
|
-
end
|
400
|
-
times
|
401
|
-
end
|
402
|
-
|
403
|
-
def get_weekdays(weekday_selector)
|
404
|
-
weekdays = []
|
405
|
-
wd_from = nil
|
406
|
-
wd_to = nil
|
407
|
-
|
408
|
-
weekday_selector = weekday_selector.split(',')
|
409
|
-
weekday_selector.each do |wd|
|
410
|
-
if !(@RGX_HOLIDAY =~ wd).nil?
|
411
|
-
elsif !(@RGX_WD =~ wd).nil?
|
412
|
-
single_weekday = wd.split('-')
|
413
|
-
wd_from = OSM_DAYS.find_index(single_weekday[0])
|
414
|
-
if single_weekday.length > 1
|
415
|
-
wd_to = OSM_DAYS.find_index(single_weekday[1])
|
416
|
-
else
|
417
|
-
wd_to = wd_from
|
418
|
-
end
|
419
|
-
|
420
|
-
weekdays << {from: wd_from, to: wd_to}
|
421
|
-
else
|
422
|
-
raise ArgumentError, "Invalid weekday interval : #{wd}"
|
423
|
-
end
|
424
|
-
end
|
425
|
-
|
426
|
-
weekdays
|
427
|
-
end
|
428
|
-
|
429
321
|
def remove_interval(typical, weekdays, times)
|
430
322
|
if weekdays[:from] <= weekdays[:to]
|
431
323
|
for wd in weekdays[:from]..weekdays[:to]
|
@@ -512,8 +404,5 @@ module OpeningHoursConverter
|
|
512
404
|
def is_weekday?(token)
|
513
405
|
!(@RGX_WEEKDAY =~ token).nil?
|
514
406
|
end
|
515
|
-
def is_year?(token)
|
516
|
-
!(@RGX_YEAR =~ token).nil?
|
517
|
-
end
|
518
407
|
end
|
519
408
|
end
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opening_hours_converter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ziserman Martin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-10-
|
11
|
+
date: 2017-10-10 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Datetime range to openinghours, openinghours to datetime range
|
14
|
-
email:
|
14
|
+
email: tech@publidata.io
|
15
15
|
executables: []
|
16
16
|
extensions: []
|
17
17
|
extra_rdoc_files: []
|
@@ -30,7 +30,7 @@ files:
|
|
30
30
|
- lib/opening_hours_converter/wide_interval.rb
|
31
31
|
homepage: http://rubygems.org/gems/opening_hours_converter
|
32
32
|
licenses:
|
33
|
-
-
|
33
|
+
- GNU AFFERO GENERAL PUBLIC LICENSE
|
34
34
|
metadata: {}
|
35
35
|
post_install_message:
|
36
36
|
rdoc_options: []
|