code-ruby 1.5.6 → 1.6.0

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.
@@ -3,18 +3,113 @@
3
3
  class Code
4
4
  class Object
5
5
  class Dictionary < ::Code::Object
6
- delegate :code_eight?, to: :code_size
7
- delegate :code_five?, to: :code_size
8
- delegate :code_four?, to: :code_size
9
- delegate :code_nine?, to: :code_size
10
- delegate :code_one?, to: :code_size
11
- delegate :code_seven?, to: :code_size
12
- delegate :code_six?, to: :code_size
13
- delegate :code_ten?, to: :code_size
14
- delegate :code_three?, to: :code_size
15
- delegate :code_two?, to: :code_size
16
- delegate :code_zero?, to: :code_size
17
- delegate :code_many?, to: :code_size
6
+ delegate(
7
+ :code_many?,
8
+ :code_postive?,
9
+ :code_negative?,
10
+ :code_zero?,
11
+ :code_one?,
12
+ :code_two?,
13
+ :code_three?,
14
+ :code_four?,
15
+ :code_five?,
16
+ :code_six?,
17
+ :code_seven?,
18
+ :code_eight?,
19
+ :code_nine?,
20
+ :code_ten?,
21
+ :code_eleven?,
22
+ :code_twelve?,
23
+ :code_thirteen?,
24
+ :code_fourteen?,
25
+ :code_fifteen?,
26
+ :code_sixteen?,
27
+ :code_seventeen?,
28
+ :code_eighteen?,
29
+ :code_nineteen?,
30
+ :code_twenty?,
31
+ :code_twenty_one?,
32
+ :code_twenty_two?,
33
+ :code_twenty_three?,
34
+ :code_twenty_four?,
35
+ :code_twenty_five?,
36
+ :code_twenty_six?,
37
+ :code_twenty_seven?,
38
+ :code_twenty_eight?,
39
+ :code_twenty_nine?,
40
+ :code_thirty?,
41
+ :code_thirty_one?,
42
+ :code_thirty_two?,
43
+ :code_thirty_three?,
44
+ :code_thirty_four?,
45
+ :code_thirty_five?,
46
+ :code_thirty_six?,
47
+ :code_thirty_seven?,
48
+ :code_thirty_eight?,
49
+ :code_thirty_nine?,
50
+ :code_forty?,
51
+ :code_forty_one?,
52
+ :code_forty_two?,
53
+ :code_forty_three?,
54
+ :code_forty_four?,
55
+ :code_forty_five?,
56
+ :code_forty_six?,
57
+ :code_forty_seven?,
58
+ :code_forty_eight?,
59
+ :code_forty_nine?,
60
+ :code_fifty?,
61
+ :code_fifty_one?,
62
+ :code_fifty_two?,
63
+ :code_fifty_three?,
64
+ :code_fifty_four?,
65
+ :code_fifty_five?,
66
+ :code_fifty_six?,
67
+ :code_fifty_seven?,
68
+ :code_fifty_eight?,
69
+ :code_fifty_nine?,
70
+ :code_sixty?,
71
+ :code_sixty_one?,
72
+ :code_sixty_two?,
73
+ :code_sixty_three?,
74
+ :code_sixty_four?,
75
+ :code_sixty_five?,
76
+ :code_sixty_six?,
77
+ :code_sixty_seven?,
78
+ :code_sixty_eight?,
79
+ :code_sixty_nine?,
80
+ :code_seventy?,
81
+ :code_seventy_one?,
82
+ :code_seventy_two?,
83
+ :code_seventy_three?,
84
+ :code_seventy_four?,
85
+ :code_seventy_five?,
86
+ :code_seventy_six?,
87
+ :code_seventy_seven?,
88
+ :code_seventy_eight?,
89
+ :code_seventy_nine?,
90
+ :code_eighty?,
91
+ :code_eighty_one?,
92
+ :code_eighty_two?,
93
+ :code_eighty_three?,
94
+ :code_eighty_four?,
95
+ :code_eighty_five?,
96
+ :code_eighty_six?,
97
+ :code_eighty_seven?,
98
+ :code_eighty_eight?,
99
+ :code_eighty_nine?,
100
+ :code_ninety?,
101
+ :code_ninety_one?,
102
+ :code_ninety_two?,
103
+ :code_ninety_three?,
104
+ :code_ninety_four?,
105
+ :code_ninety_five?,
106
+ :code_ninety_six?,
107
+ :code_ninety_seven?,
108
+ :code_ninety_eight?,
109
+ :code_ninety_nine?,
110
+ :code_one_hundred?,
111
+ to: :code_size
112
+ )
18
113
 
19
114
  def initialize(*args, **kargs, &_block)
20
115
  self.raw =
@@ -86,9 +181,6 @@ class Code
86
181
  when "each"
87
182
  sig(args) { Function }
88
183
  code_each(code_value, **globals)
89
- when "eight?"
90
- sig(args)
91
- code_eight?
92
184
  when "empty?"
93
185
  sig(args)
94
186
  code_empty?
@@ -101,15 +193,9 @@ class Code
101
193
  when "fetch_values"
102
194
  sig(args) { Object.repeat(1) }
103
195
  code_fetch_values(*code_arguments.raw)
104
- when "five?"
105
- sig(args)
106
- code_five?
107
196
  when "flatten"
108
197
  sig(args) { Integer.maybe }
109
198
  code_flatten(code_value)
110
- when "four?"
111
- sig(args)
112
- code_four?
113
199
  when "has_key?"
114
200
  sig(args) { Object }
115
201
  code_has_key?(code_value)
@@ -137,51 +223,336 @@ class Code
137
223
  when "merge!"
138
224
  sig(args) { [Dictionary.repeat, Function.maybe] }
139
225
  code_merge!(*code_arguments.raw, **globals)
140
- when "nine?"
141
- sig(args)
142
- code_nine?
143
- when "one?"
144
- sig(args)
145
- code_one?
146
226
  when "select!", "filter!"
147
227
  sig(args) { Function | Class }
148
228
  code_select!(code_value, **globals)
149
229
  when "select", "filter"
150
230
  sig(args) { Function | Class }
151
231
  code_select(code_value, **globals)
152
- when "seven?"
153
- sig(args)
154
- code_seven?
155
- when "six?"
156
- sig(args)
157
- code_six?
158
232
  when "size"
159
233
  sig(args)
160
234
  code_size
161
- when "ten?"
162
- sig(args)
163
- code_ten?
164
- when "three?"
165
- sig(args)
166
- code_three?
167
235
  when "transform_values"
168
236
  sig(args) { Function }
169
237
  code_transform_values(code_value, **globals)
170
238
  when "to_query"
171
239
  sig(args) { String.maybe }
172
240
  code_to_query(code_value)
173
- when "two?"
174
- sig(args)
175
- code_two?
176
241
  when "values"
177
242
  sig(args)
178
243
  code_values
244
+ when "many?"
245
+ sig(args)
246
+ code_many?
247
+ when "positive?"
248
+ sig(args)
249
+ code_positive?
250
+ when "negative?"
251
+ sig(args)
252
+ code_negative?
179
253
  when "zero?"
180
254
  sig(args)
181
255
  code_zero?
182
- when "many?"
256
+ when "one?"
183
257
  sig(args)
184
- code_many?
258
+ code_one?
259
+ when "two?"
260
+ sig(args)
261
+ code_two?
262
+ when "three?"
263
+ sig(args)
264
+ code_three?
265
+ when "four?"
266
+ sig(args)
267
+ code_four?
268
+ when "five?"
269
+ sig(args)
270
+ code_five?
271
+ when "six?"
272
+ sig(args)
273
+ code_six?
274
+ when "seven?"
275
+ sig(args)
276
+ code_seven?
277
+ when "eight?"
278
+ sig(args)
279
+ code_eight?
280
+ when "nine?"
281
+ sig(args)
282
+ code_nine?
283
+ when "ten?"
284
+ sig(args)
285
+ code_ten?
286
+ when "eleven?"
287
+ sig(args)
288
+ code_eleven?
289
+ when "twelve?"
290
+ sig(args)
291
+ code_twelve?
292
+ when "thirteen?"
293
+ sig(args)
294
+ code_thirteen?
295
+ when "fourteen?"
296
+ sig(args)
297
+ code_fourteen?
298
+ when "fifteen?"
299
+ sig(args)
300
+ code_fifteen?
301
+ when "sixteen?"
302
+ sig(args)
303
+ code_sixteen?
304
+ when "seventeen?"
305
+ sig(args)
306
+ code_seventeen?
307
+ when "eighteen?"
308
+ sig(args)
309
+ code_eighteen?
310
+ when "nineteen?"
311
+ sig(args)
312
+ code_nineteen?
313
+ when "twenty?"
314
+ sig(args)
315
+ code_twenty?
316
+ when "twenty_one?"
317
+ sig(args)
318
+ code_twenty_one?
319
+ when "twenty_two?"
320
+ sig(args)
321
+ code_twenty_two?
322
+ when "twenty_three?"
323
+ sig(args)
324
+ code_twenty_three?
325
+ when "twenty_four?"
326
+ sig(args)
327
+ code_twenty_four?
328
+ when "twenty_five?"
329
+ sig(args)
330
+ code_twenty_five?
331
+ when "twenty_six?"
332
+ sig(args)
333
+ code_twenty_six?
334
+ when "twenty_seven?"
335
+ sig(args)
336
+ code_twenty_seven?
337
+ when "twenty_eight?"
338
+ sig(args)
339
+ code_twenty_eight?
340
+ when "twenty_nine?"
341
+ sig(args)
342
+ code_twenty_nine?
343
+ when "thirty?"
344
+ sig(args)
345
+ code_thirty?
346
+ when "thirty_one?"
347
+ sig(args)
348
+ code_thirty_one?
349
+ when "thirty_two?"
350
+ sig(args)
351
+ code_thirty_two?
352
+ when "thirty_three?"
353
+ sig(args)
354
+ code_thirty_three?
355
+ when "thirty_four?"
356
+ sig(args)
357
+ code_thirty_four?
358
+ when "thirty_five?"
359
+ sig(args)
360
+ code_thirty_five?
361
+ when "thirty_six?"
362
+ sig(args)
363
+ code_thirty_six?
364
+ when "thirty_seven?"
365
+ sig(args)
366
+ code_thirty_seven?
367
+ when "thirty_eight?"
368
+ sig(args)
369
+ code_thirty_eight?
370
+ when "thirty_nine?"
371
+ sig(args)
372
+ code_thirty_nine?
373
+ when "forty?"
374
+ sig(args)
375
+ code_forty?
376
+ when "forty_one?"
377
+ sig(args)
378
+ code_forty_one?
379
+ when "forty_two?"
380
+ sig(args)
381
+ code_forty_two?
382
+ when "forty_three?"
383
+ sig(args)
384
+ code_forty_three?
385
+ when "forty_four?"
386
+ sig(args)
387
+ code_forty_four?
388
+ when "forty_five?"
389
+ sig(args)
390
+ code_forty_five?
391
+ when "forty_six?"
392
+ sig(args)
393
+ code_forty_six?
394
+ when "forty_seven?"
395
+ sig(args)
396
+ code_forty_seven?
397
+ when "forty_eight?"
398
+ sig(args)
399
+ code_forty_eight?
400
+ when "forty_nine?"
401
+ sig(args)
402
+ code_forty_nine?
403
+ when "fifty?"
404
+ sig(args)
405
+ code_fifty?
406
+ when "fifty_one?"
407
+ sig(args)
408
+ code_fifty_one?
409
+ when "fifty_two?"
410
+ sig(args)
411
+ code_fifty_two?
412
+ when "fifty_three?"
413
+ sig(args)
414
+ code_fifty_three?
415
+ when "fifty_four?"
416
+ sig(args)
417
+ code_fifty_four?
418
+ when "fifty_five?"
419
+ sig(args)
420
+ code_fifty_five?
421
+ when "fifty_six?"
422
+ sig(args)
423
+ code_fifty_six?
424
+ when "fifty_seven?"
425
+ sig(args)
426
+ code_fifty_seven?
427
+ when "fifty_eight?"
428
+ sig(args)
429
+ code_fifty_eight?
430
+ when "fifty_nine?"
431
+ sig(args)
432
+ code_fifty_nine?
433
+ when "sixty?"
434
+ sig(args)
435
+ code_sixty?
436
+ when "sixty_one?"
437
+ sig(args)
438
+ code_sixty_one?
439
+ when "sixty_two?"
440
+ sig(args)
441
+ code_sixty_two?
442
+ when "sixty_three?"
443
+ sig(args)
444
+ code_sixty_three?
445
+ when "sixty_four?"
446
+ sig(args)
447
+ code_sixty_four?
448
+ when "sixty_five?"
449
+ sig(args)
450
+ code_sixty_five?
451
+ when "sixty_six?"
452
+ sig(args)
453
+ code_sixty_six?
454
+ when "sixty_seven?"
455
+ sig(args)
456
+ code_sixty_seven?
457
+ when "sixty_eight?"
458
+ sig(args)
459
+ code_sixty_eight?
460
+ when "sixty_nine?"
461
+ sig(args)
462
+ code_sixty_nine?
463
+ when "seventy?"
464
+ sig(args)
465
+ code_seventy?
466
+ when "seventy_one?"
467
+ sig(args)
468
+ code_seventy_one?
469
+ when "seventy_two?"
470
+ sig(args)
471
+ code_seventy_two?
472
+ when "seventy_three?"
473
+ sig(args)
474
+ code_seventy_three?
475
+ when "seventy_four?"
476
+ sig(args)
477
+ code_seventy_four?
478
+ when "seventy_five?"
479
+ sig(args)
480
+ code_seventy_five?
481
+ when "seventy_six?"
482
+ sig(args)
483
+ code_seventy_six?
484
+ when "seventy_seven?"
485
+ sig(args)
486
+ code_seventy_seven?
487
+ when "seventy_eight?"
488
+ sig(args)
489
+ code_seventy_eight?
490
+ when "seventy_nine?"
491
+ sig(args)
492
+ code_seventy_nine?
493
+ when "eighty?"
494
+ sig(args)
495
+ code_eighty?
496
+ when "eighty_one?"
497
+ sig(args)
498
+ code_eighty_one?
499
+ when "eighty_two?"
500
+ sig(args)
501
+ code_eighty_two?
502
+ when "eighty_three?"
503
+ sig(args)
504
+ code_eighty_three?
505
+ when "eighty_four?"
506
+ sig(args)
507
+ code_eighty_four?
508
+ when "eighty_five?"
509
+ sig(args)
510
+ code_eighty_five?
511
+ when "eighty_six?"
512
+ sig(args)
513
+ code_eighty_six?
514
+ when "eighty_seven?"
515
+ sig(args)
516
+ code_eighty_seven?
517
+ when "eighty_eight?"
518
+ sig(args)
519
+ code_eighty_eight?
520
+ when "eighty_nine?"
521
+ sig(args)
522
+ code_eighty_nine?
523
+ when "ninety?"
524
+ sig(args)
525
+ code_ninety?
526
+ when "ninety_one?"
527
+ sig(args)
528
+ code_ninety_one?
529
+ when "ninety_two?"
530
+ sig(args)
531
+ code_ninety_two?
532
+ when "ninety_three?"
533
+ sig(args)
534
+ code_ninety_three?
535
+ when "ninety_four?"
536
+ sig(args)
537
+ code_ninety_four?
538
+ when "ninety_five?"
539
+ sig(args)
540
+ code_ninety_five?
541
+ when "ninety_six?"
542
+ sig(args)
543
+ code_ninety_six?
544
+ when "ninety_seven?"
545
+ sig(args)
546
+ code_ninety_seven?
547
+ when "ninety_eight?"
548
+ sig(args)
549
+ code_ninety_eight?
550
+ when "ninety_nine?"
551
+ sig(args)
552
+ code_ninety_nine?
553
+ when "one_hundred?"
554
+ sig(args)
555
+ code_one_hundred?
185
556
  when ->(code_operator) { code_has_key?(code_operator).truthy? }
186
557
  result = code_fetch(code_operator)
187
558
 
@@ -210,7 +581,7 @@ class Code
210
581
  raw.any? do |key, value|
211
582
  code_argument
212
583
  .call(
213
- arguments: List.new([key, value, self, Integer.new(index)]),
584
+ arguments: List.new([key, value, Integer.new(index), self]),
214
585
  **globals
215
586
  )
216
587
  .truthy?
@@ -257,7 +628,7 @@ class Code
257
628
  Nothing.new
258
629
  else
259
630
  code_default.call(
260
- arguments: List.new([code_first, self, code_index]),
631
+ arguments: List.new([code_first, code_index, self]),
261
632
  **globals
262
633
  )
263
634
  end
@@ -298,7 +669,7 @@ class Code
298
669
  raw.delete_if.with_index do |(code_key, code_value), index|
299
670
  argument.call(
300
671
  arguments:
301
- List.new([code_key, code_value, self, Integer.new(index)]),
672
+ List.new([code_key, code_value, Integer.new(index), self]),
302
673
  **globals
303
674
  ).truthy?
304
675
  end
@@ -315,7 +686,7 @@ class Code
315
686
  else
316
687
  raw.delete_if.with_index do |(key, value), index|
317
688
  code_argument.call(
318
- arguments: List.new([key, value, self, Integer.new(index)]),
689
+ arguments: List.new([key, value, Integer.new(index), self]),
319
690
  **globals
320
691
  ).falsy?
321
692
  end
@@ -343,7 +714,7 @@ class Code
343
714
 
344
715
  raw.each.with_index do |(key, value), index|
345
716
  code_argument.call(
346
- arguments: List.new([key, value, self, Integer.new(index)]),
717
+ arguments: List.new([key, value, Integer.new(index), self]),
347
718
  **globals
348
719
  )
349
720
  end
@@ -660,17 +1031,21 @@ class Code
660
1031
  code_function = function.to_code
661
1032
 
662
1033
  Dictionary.new(
663
- raw.map.with_index do |(key, value), index|
664
- [
665
- key.to_code,
666
- code_function.call(
667
- arguments: List.new([key.to_code, value.to_code, index.to_code, self]),
668
- **globals
669
- )
670
- ]
671
- rescue Error::Next => e
672
- [key.to_code, e.code_value]
673
- end.to_h
1034
+ raw
1035
+ .map
1036
+ .with_index do |(key, value), index|
1037
+ [
1038
+ key.to_code,
1039
+ code_function.call(
1040
+ arguments:
1041
+ List.new([key.to_code, value.to_code, index.to_code, self]),
1042
+ **globals
1043
+ )
1044
+ ]
1045
+ rescue Error::Next => e
1046
+ [key.to_code, e.code_value]
1047
+ end
1048
+ .to_h
674
1049
  )
675
1050
  end
676
1051
 
@@ -41,9 +41,9 @@ class Code
41
41
  if code_parameter.regular_splat?
42
42
  code_arguments
43
43
  elsif code_parameter.keyword_splat?
44
- code_arguments
45
- .raw
46
- .detect { |code_argument| code_argument.is_a?(Dictionary) } || Dictionary.new
44
+ code_arguments.raw.detect do |code_argument|
45
+ code_argument.is_a?(Dictionary)
46
+ end || Dictionary.new
47
47
  elsif code_parameter.keyword?
48
48
  code_arguments
49
49
  .raw
@@ -52,6 +52,7 @@ class Code
52
52
  code_dictionary.code_has_value?(parameter.code_name).truthy?
53
53
  end
54
54
  &.code_get(parameter.code_name)
55
+ .to_code
55
56
  else
56
57
  code_arguments.raw[index].to_code
57
58
  end
@@ -83,7 +83,7 @@ class Code
83
83
  end
84
84
  when "context"
85
85
  sig(args)
86
- context
86
+ code_context
87
87
  when "Object"
88
88
  sig(args)
89
89
  if code_arguments.any?
@@ -169,6 +169,13 @@ class Code
169
169
  sig(args) { Object.repeat }
170
170
  output.puts(*code_arguments.raw)
171
171
  Nothing.new
172
+ when "Number"
173
+ sig(args) { Object.repeat }
174
+ if code_arguments.any?
175
+ Number.new(*code_arguments.raw)
176
+ else
177
+ Class.new(Number)
178
+ end
172
179
  else
173
180
  code_context = code_context.code_lookup!(code_operator)
174
181
  code_result = code_context.code_fetch(code_operator)