nydp-kalendor 0.0.3 → 0.0.4

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
  SHA1:
3
- metadata.gz: aa13412eb35a046cb93285d721b8d5ac24fead59
4
- data.tar.gz: d1d031829686394fdb19eb83ed618f0a6d2f5076
3
+ metadata.gz: 34b859969223925ef1468c2df21c66809dc5f68d
4
+ data.tar.gz: 34c85ac82dc02e79556d70ca5d1d5ead5263b734
5
5
  SHA512:
6
- metadata.gz: 1a5d712825b558a07827661547e0ebecc3b5c37afe2673c845e45e6a2718c6962d9325b5bba99e965775debdc6a53317bfc5e5d2d7f5b86f7c75e10d0523f469
7
- data.tar.gz: 815082aab0181563dd393e5c031eacbfd7ae134908b37aeaccb0599365a253dd075ec6a9fc26141095419217c1ef795bc8a274fbc3213a2a47a3c2b25ad0bd91
6
+ metadata.gz: 1692dd35f128df42c977c36b763682c545207e1d1e2d111939a73a2860014c962e1970c795af3519906ca242ea5a3356c7b9267db0cbcb32938656878894908a
7
+ data.tar.gz: de2eda5c3aadd87edb4823ab6a622c793899ac8d977643b46e0155c1567efbf0664f116b8d30df021c81d292be02cf81d611afed23957127f7d5b38f7d0291d9
@@ -0,0 +1,28 @@
1
+ search:
2
+ - "bin/**/*"
3
+ - "lib/**/*"
4
+ - "spec/**/*"
5
+ - "*.gemspec"
6
+ - ".*.yml"
7
+ - ".git?*"
8
+ - "Gemfile*"
9
+ - README
10
+ ignore:
11
+ - .doc$
12
+ - .ods$
13
+ - .gz$
14
+ - .png$
15
+ - .gif$
16
+ - .zip$
17
+ - .jpg$
18
+ - .xcf$
19
+ - .pdf$
20
+ - /select2/.*.js$
21
+ stats:
22
+ nydp:
23
+ - ".*\\.nydp"
24
+ code:
25
+ - "lib/.*\\.(rb|rake)"
26
+ test:
27
+ - "spec/.*"
28
+ - "test/.*"
@@ -10,7 +10,6 @@
10
10
  ;;
11
11
  ;; simple builders
12
12
  ;;
13
- ;; * kalendor-build/named
14
13
  ;; * kalendor-build/annual
15
14
  ;; * kalendor-build/union
16
15
  ;; * kalendor-build/intersect
@@ -28,23 +27,24 @@
28
27
 
29
28
  (chapter-start 'kalendor "utilities for defining, building, and manipulating calendars. ")
30
29
 
31
- (dox-add-doc 'kalendor-build/named 'def '("store a new calendar under the given name") '(name label expr) nil '(kalendor))
30
+ (dox-add-doc 'kalendor-build/named 'def '("apply a name and label to a calendar") '(kal name label) nil '(kalendor))
32
31
  (dox-add-doc 'kalendor-build/weekday 'def '("all dates for the given day of the week ;
33
32
  if there is a second integer parameter n,
34
- limit to the nth of the given day each month") '(day n) nil '(kalendor))
35
- (dox-add-doc 'kalendor-build/annual 'def '("the same specified date in every year") '(date month) nil '(kalendor))
36
- (dox-add-doc 'kalendor-build/union 'def '("the union of all dates provided by the given calendars") 'args nil '(kalendor))
37
- (dox-add-doc 'kalendor-build/intersect 'def '("the intersection of all dates provided by the given calendars") 'args nil '(kalendor))
38
- (dox-add-doc 'kalendor-build/subtract 'def '("all the dates of 'keep, except for any dates in 'toss") '(keep toss) nil '(kalendor))
39
- (dox-add-doc 'kalendor-build/list 'def '("a preset list of dates") 'args nil '(kalendor))
40
- (dox-add-doc 'kalendor-build/interval 'def '("all the dates from 'from upto 'upto (inclusive)") '(from upto) nil '(kalendor))
33
+ limit to the nth of the given day each month") '(day n) nil '(kalendor))
34
+ (dox-add-doc 'kalendor-build/annual 'def '("the same specified date in every year") '(date month) nil '(kalendor))
35
+ (dox-add-doc 'kalendor-build/union 'def '("the union of all dates provided by the given calendars") 'args nil '(kalendor))
36
+ (dox-add-doc 'kalendor-build/intersect 'def '("the intersection of all dates provided by the given calendars") 'args nil '(kalendor))
37
+ (dox-add-doc 'kalendor-build/subtract 'def '("all the dates of 'keep, except for any dates in 'toss") '(keep toss) nil '(kalendor))
38
+ (dox-add-doc 'kalendor-build/list 'def '("a preset list of dates") 'args nil '(kalendor))
39
+ (dox-add-doc 'kalendor-build/interval 'def '("all the dates from 'from upto 'upto (inclusive)") '(from upto) nil '(kalendor))
41
40
  (dox-add-doc 'kalendor-build/month 'def '("all the dates in the given month, every year.
42
- 'month is an integer, january is 1") '(month) nil '(kalendor))
43
- (dox-add-doc 'kalendor/find 'def '("find the given calendar in the store") '(name) nil '(kalendor))
44
- (dox-add-doc 'kalendor/add 'def '("add the given calendar to the store") '(kal) nil '(kalendor))
45
- (dox-add-doc 'kalendor/delete 'def '("remove the given calendar from the store") '(name) nil '(kalendor))
46
- (dox-add-doc 'kalendor/names 'def '("get the list of stored calendar names") nil nil '(kalendor))
47
- (dox-add-doc 'kalendor/list 'def '("get the list of stored calendars") nil nil '(kalendor))
41
+ 'month is an integer, january is 1") '(month) nil '(kalendor))
42
+ (dox-add-doc 'kalendor/find 'def '("find the given calendar in the store") '(name) nil '(kalendor))
43
+ (dox-add-doc 'kalendor/add 'def '("add the given calendar to the store") '(kal) nil '(kalendor))
44
+ (dox-add-doc 'kalendor/delete 'def '("remove the given calendar from the store") '(name) nil '(kalendor))
45
+ (dox-add-doc 'kalendor/names 'def '("get the list of stored calendar names") nil nil '(kalendor))
46
+ (dox-add-doc 'kalendor/list 'def '("get the list of stored calendars") nil nil '(kalendor))
47
+ (dox-add-doc 'kalendor/dates 'def '("get the set of dates from calendar between the given dates") '(kal from upto) nil '(kalendor))
48
48
 
49
49
  (assign kalendor/substitutions
50
50
  {
@@ -161,87 +161,114 @@
161
161
  october
162
162
  { en "October school holidays, France"
163
163
  fr "vacances scolaires France, octobre"
164
- de "Schulferien France, Oktober" }
164
+ de "Schulferien Frankreich, Oktober" }
165
165
  (union (interval "2015-10-17" "2015-11-01")
166
166
  (interval "2016-10-19" "2016-11-02")
167
- (interval "2017-10-21" "2017-11-05")))
167
+ (interval "2017-10-21" "2017-11-05")
168
+ (interval "2018-10-20" "2018-11-04")
169
+ (interval "2019-10-19" "2019-11-03")
170
+ ))
168
171
 
169
172
  (kalendor/private france/private
170
173
  december
171
174
  { en "December school holidays, France"
172
- fr "vacances scolaires France, décembre"
173
- de "Schulferien France, Dezember" }
175
+ fr "Vacances scolaires France, décembre"
176
+ de "Schulferien Frankreich, Dezember" }
174
177
  (union (interval "2015-12-19" "2016-01-03")
175
178
  (interval "2016-12-17" "2017-01-02")
176
- (interval "2017-12-23" "2018-01-07")))
179
+ (interval "2017-12-23" "2018-01-07")
180
+ (interval "2018-12-22" "2019-01-06")
181
+ (interval "2019-12-21" "2020-01-05")
182
+ ))
177
183
 
178
184
  (kalendor/private france/private
179
- winter/zone-c
180
- { en "Winter school holidays, France, Zone C"
181
- fr "vacances scolaires France, hiver, zone c"
182
- de "Schulferien France, Winter, Zone C" }
183
- (union (interval "2016-02-20" "2016-03-06")
184
- (interval "2017-02-04" "2017-02-19")
185
- (interval "2018-02-17" "2018-03-04")))
185
+ winter/zone-a
186
+ { en "Winter school holidays, France, Zone A"
187
+ fr "Vacances scolaires France, hiver, zone A"
188
+ de "Schulferien Frankreich, Winter, Zone A" }
189
+ (union (interval "2016-02-13" "2016-02-29")
190
+ (interval "2017-02-18" "2017-03-05")
191
+ (interval "2018-02-10" "2018-02-25")
192
+ (interval "2019-02-16" "2019-03-03")
193
+ (interval "2020-02-22" "2020-03-08")
194
+ ))
186
195
 
187
196
  (kalendor/private france/private
188
197
  winter/zone-b
189
198
  { en "Winter school holidays, France, Zone B"
190
- fr "vacances scolaires France, hiver, zone B"
191
- de "Schulferien France, Winter, Zone B" }
199
+ fr "Vacances scolaires France, hiver, zone B"
200
+ de "Schulferien Frankreich, Winter, Zone B" }
192
201
  (union (interval "2016-02-06" "2016-02-21")
193
202
  (interval "2017-02-11" "2017-02-26")
194
- (interval "2018-02-24" "2018-03-11")))
203
+ (interval "2018-02-24" "2018-03-11")
204
+ (interval "2019-02-09" "2019-02-24")
205
+ (interval "2020-02-15" "2020-03-01")
206
+ ))
195
207
 
196
208
  (kalendor/private france/private
197
- winter/zone-a
198
- { en "Winter school holidays, France, Zone A"
199
- fr "vacances scolaires France, hiver, zone A"
200
- de "Schulferien France, Winter, Zone A" }
201
- (union (interval "2016-02-13" "2016-02-29")
202
- (interval "2017-02-18" "2017-03-05")
203
- (interval "2018-02-10" "2018-02-25")))
209
+ winter/zone-c
210
+ { en "Winter school holidays, France, Zone C"
211
+ fr "Vacances scolaires France, hiver, zone c"
212
+ de "Schulferien Frankreich, Winter, Zone C" }
213
+ (union (interval "2016-02-20" "2016-03-06")
214
+ (interval "2017-02-04" "2017-02-19")
215
+ (interval "2018-02-17" "2018-03-04")
216
+ (interval "2019-02-23" "2019-03-10")
217
+ (interval "2020-02-08" "2020-02-23")
218
+ ))
204
219
 
205
220
  (kalendor/private france/private
206
221
  easter/zone-a
207
222
  { en "Easter school holidays, France, Zone C"
208
- fr "vacances scolaires France, Paques, zone c"
209
- de "Schulferien France, Ostern, Zone C" }
223
+ fr "Vacances scolaires France, Paques, zone c"
224
+ de "Schulferien Frankreich, Ostern, Zone C" }
210
225
  (union (interval "2016-04-16" "2016-05-01")
211
226
  (interval "2017-04-01" "2017-04-17")
212
- (interval "2018-04-14" "2018-04-29")))
227
+ (interval "2018-04-14" "2018-04-29")
228
+ (interval "2019-04-13" "2019-04-28")
229
+ (interval "2020-04-18" "2020-05-03")
230
+ ))
213
231
 
214
232
  (kalendor/private france/private
215
233
  easter/zone-b
216
234
  { en "Easter school holidays, France, Zone B"
217
- fr "vacances scolaires France, Paques, zone B"
218
- de "Schulferien France, Ostern, Zone B" }
235
+ fr "Vacances scolaires France, Paques, zone B"
236
+ de "Schulferien Frankreich, Ostern, Zone B" }
219
237
  (union (interval "2016-04-02" "2016-04-17")
220
238
  (interval "2017-04-08" "2017-04-23")
221
- (interval "2018-04-21" "2018-05-06")))
239
+ (interval "2018-04-21" "2018-05-06")
240
+ (interval "2019-04-06" "2019-04-22")
241
+ (interval "2020-04-18" "2020-04-26")
242
+ ))
222
243
 
223
244
  (kalendor/private france/private
224
- easter/zone-a
225
- { en "Easter school holidays, France, Zone A"
226
- fr "vacances scolaires France, Paques, zone A"
227
- de "Schulferien France, Ostern, Zone A" }
245
+ easter/zone-c
246
+ { en "Easter school holidays, France, Zone C"
247
+ fr "Vacances scolaires France, Paques, zone C"
248
+ de "Schulferien Frankreich, Ostern, Zone C" }
228
249
  (union (interval "2016-02-13" "2016-02-29")
229
250
  (interval "2017-02-18" "2017-03-05")
230
- (interval "2018-02-10" "2018-02-25")))
251
+ (interval "2018-02-10" "2018-02-25")
252
+ (interval "2019-04-20" "2019-05-05")
253
+ (interval "2020-04-04" "2020-04-19")
254
+ ))
231
255
 
232
256
  (kalendor/private france/private
233
257
  summer
234
258
  { en "Summer school holidays, France"
235
259
  fr "vacances scolaires France, été"
236
- de "Schulferien France, Sommer" }
260
+ de "Schulferien Frankreich, Sommer" }
237
261
  (union (interval "2016-07-04" "2016-08-31")
238
262
  (interval "2017-07-08" "2017-09-03")
239
- (interval "2018-07-07" "2018-09-01")))
263
+ (interval "2018-07-07" "2018-09-01")
264
+ (interval "2019-07-06" "2019-09-01")
265
+ (interval "2020-07-04" "2020-09-01")
266
+ ))
240
267
 
241
268
  (kalendor/public france-school-holidays-zone-c
242
269
  { en "school holidays, France, zone C"
243
270
  fr "vacances scolaires France, zone C"
244
- de "Schulferien France, Zone C" }
271
+ de "Schulferien Frankreich, Zone C" }
245
272
  (union france/private.october
246
273
  france/private.december
247
274
  france/private.winter/zone-c
@@ -251,7 +278,7 @@
251
278
  (kalendor/public france-school-holidays-zone-b
252
279
  { en "school holidays, France, zone B"
253
280
  fr "vacances scolaires France, zone B"
254
- de "Schulferien France, Zone B" }
281
+ de "Schulferien Frankreich, Zone B" }
255
282
  (union france/private.october
256
283
  france/private.december
257
284
  france/private.winter/zone-b
@@ -261,7 +288,7 @@
261
288
  (kalendor/public france-school-holidays-zone-a
262
289
  { en "school holidays, France, zone A"
263
290
  fr "vacances scolaires France, zone A"
264
- de "Schulferien France, Zone A" }
291
+ de "Schulferien Frankreich, Zone A" }
265
292
  (union france/private.october
266
293
  france/private.december
267
294
  france/private.winter/zone-a
@@ -1,4 +1,5 @@
1
1
  require "kalendor"
2
+ require "kalendor/instance"
2
3
  require "kalendor/instance/store"
3
4
  require "nydp"
4
5
  require "nydp/kalendor/version"
@@ -9,6 +10,13 @@ module Nydp
9
10
  end
10
11
 
11
12
  module Kalendor
13
+ module KalendorInstance
14
+ include Nydp::AutoWrap
15
+ def _nydp_whitelist
16
+ @_nwl ||= Set.new([:name, :label])
17
+ end
18
+ end
19
+
12
20
  class Plugin
13
21
  def name ; "Nydp/Kalendor plugin" ; end
14
22
 
@@ -29,6 +37,7 @@ module Nydp
29
37
  end
30
38
 
31
39
  def setup ns
40
+ ::Kalendor::Instance::Base.send :include, ::Nydp::Kalendor::KalendorInstance
32
41
  store = ns.kalendor_store = ::Kalendor::Instance::Store.new
33
42
  factory = ::Kalendor::Factory.new
34
43
  Symbol.mk("kalendor/add" , ns).assign(Nydp::Kalendor::Builtin::Store::Add .new store, factory)
@@ -82,16 +91,16 @@ module Nydp
82
91
  end
83
92
 
84
93
  module Builder
85
- class Weekday < Base ; def builtin_invoke_3 vm, day, nth ; vm.push_arg @factory.weekday day, nth ; end
86
- def builtin_invoke_2 vm, day ; vm.push_arg @factory.weekday day ; end ; end
87
- class Annual < Base ; def builtin_invoke_3 vm, date, month ; vm.push_arg @factory.annual date, month ; end ; end
88
- class Union < Base ; def builtin_invoke vm, args ; vm.push_arg @factory.union *(n2r args) ; end ; end
89
- class Intersect < Base ; def builtin_invoke vm, args ; vm.push_arg @factory.intersect *(n2r args) ; end ; end
90
- class Subtract < Base ; def builtin_invoke_3 vm, keep, toss ; vm.push_arg @factory.subtract keep, toss ; end ; end
91
- class DateList < Base ; def builtin_invoke vm, args ; vm.push_arg @factory.list *(n2r args) ; end ; end
92
- class Interval < Base ; def builtin_invoke_3 vm, from, upto ; vm.push_arg @factory.interval from, upto ; end ; end
93
- class Month < Base ; def builtin_invoke_2 vm, m ; vm.push_arg @factory.month m ; end ; end
94
- class Named < Base ; def builtin_invoke_4 vm, name, label, kal ; vm.push_arg @factory.named n2r(name), n2r(label), kal ; end ; end
94
+ class Weekday < Base ; def builtin_invoke_3 vm, day, nth ; vm.push_arg @factory.weekday day, nth ; end
95
+ def builtin_invoke_2 vm, day ; vm.push_arg @factory.weekday day ; end ; end
96
+ class Annual < Base ; def builtin_invoke_3 vm, date, month ; vm.push_arg @factory.annual date, month ; end ; end
97
+ class Union < Base ; def builtin_invoke vm, args ; vm.push_arg @factory.union *(n2r args) ; end ; end
98
+ class Intersect < Base ; def builtin_invoke vm, args ; vm.push_arg @factory.intersect *(n2r args) ; end ; end
99
+ class Subtract < Base ; def builtin_invoke_3 vm, keep, toss ; vm.push_arg @factory.subtract keep, toss ; end ; end
100
+ class DateList < Base ; def builtin_invoke vm, args ; vm.push_arg @factory.list *(n2r args) ; end ; end
101
+ class Interval < Base ; def builtin_invoke_3 vm, from, upto ; vm.push_arg @factory.interval from, upto ; end ; end
102
+ class Month < Base ; def builtin_invoke_2 vm, m ; vm.push_arg @factory.month m ; end ; end
103
+ class Named < Base ; def builtin_invoke_4 vm, n, lbl, k ; k.name, k.label = n2r(n), n2r(lbl) ; vm.push_arg k ; end ; end
95
104
  end
96
105
  end
97
106
  end
@@ -1,5 +1,5 @@
1
1
  module Nydp
2
2
  module Kalendor
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  end
@@ -23,5 +23,5 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency 'rspec_numbering_formatter'
24
24
 
25
25
  spec.add_dependency 'nydp', '~> 0.2'
26
- spec.add_dependency 'kalendor'
26
+ spec.add_dependency 'kalendor', '0.0.4'
27
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nydp-kalendor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Conan Dalton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-07 00:00:00.000000000 Z
11
+ date: 2020-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -84,16 +84,16 @@ dependencies:
84
84
  name: kalendor
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 0.0.4
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: '0'
96
+ version: 0.0.4
97
97
  description: provides functions and macros to simplify date management within nydp
98
98
  email:
99
99
  - conan@conandalton.net
@@ -103,6 +103,7 @@ extensions: []
103
103
  extra_rdoc_files: []
104
104
  files:
105
105
  - ".gitignore"
106
+ - ".zeiger.yml"
106
107
  - Gemfile
107
108
  - MIT-LICENSE.txt
108
109
  - README.md
@@ -136,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
137
  version: '0'
137
138
  requirements: []
138
139
  rubyforge_project:
139
- rubygems_version: 2.2.2
140
+ rubygems_version: 2.5.2.3
140
141
  signing_key:
141
142
  specification_version: 4
142
143
  summary: nydp integration for Kalendor gem