nice_hash 1.12.9 → 1.12.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -0
  3. data/lib/nice_hash.rb +27 -0
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3bff78c12a5f0b46e46eb9f2af18c66d570dfa51b9c45ac2a6600939c8387f28
4
- data.tar.gz: d92ba9acd53a8f288a1be13a9d50c6f0924ae72168bdafb32dcf4e097e12e269
3
+ metadata.gz: 07a708f0a852586b991d2f4cb4c5df58c6695559d18fb33e06a2d9febbb8adaa
4
+ data.tar.gz: 1576c4dfc64b13dc78af24f86642bf94ae31f36000d2550b0195f10f42994702
5
5
  SHA512:
6
- metadata.gz: e89e0412ce972946f6b2ec5e2df538849d492d45c716cf23ee538ddb44082004db33f9b23ea778ce249fcc44140d896e1ec82f972fcf80e71bcffe7926385e39
7
- data.tar.gz: 77a9745af901aafc25463b3569d7870fa4621307a107870c3a71bc40086a060840587f1096ecc66ae0eb0205db8255c8a901f0c6ffa8f2b3fc2ee411d83f21cc
6
+ metadata.gz: 4bcd16d8c8ea6c0e7e84908cb1929e1e5723173ef336997672f52f326199e6ec84d2f9a1433407304d1bfd5834f87e8dc48d5f249e757db3b4e6b078167c52aa
7
+ data.tar.gz: a0625d160fa6a859abdebbf5809ea6cb5526fe1c4b767fd5c47b59e528f4e8500ba9569b3a4de3c1610564d29bc9a8f0b26bda5c7a188fd1121bb2df5f40599b
data/README.md CHANGED
@@ -55,6 +55,7 @@ my_hash={
55
55
  name: :"10-20:T_/x/",
56
56
  age: 18..120,
57
57
  euros: 0.0..3000.0,
58
+ created: DateTime,
58
59
  draws: [
59
60
  {
60
61
  drawId: :"5:N",
@@ -96,6 +97,7 @@ Explanations of the different fields:
96
97
  name: from 10 to 20 chars. Optional national characters and space, necessary lower letters.
97
98
  age: number from 18 to 120
98
99
  euros: float number from 0.0 to 3000.0
100
+ created: Time stamp format, 2019-06-20T11:40:34.547Z
99
101
  drawId: 5 numbers
100
102
  drawName: 10 letters and/or numbers
101
103
  type: 'Weekely' or 'Daily'
@@ -242,6 +244,7 @@ On this example new_hash will contain:
242
244
  name: :"10-20:T_/x/",
243
245
  age: 18..120,
244
246
  euros: 0.0..3000.0,
247
+ created: DateTime,
245
248
  draws: [
246
249
  {
247
250
  drawId: :"5:N",
@@ -302,6 +305,7 @@ In case of filtering by :correct new_hash would have a value like this for examp
302
305
  :name=>"OyTQNfEyPOzVYMxPym",
303
306
  :age=> 19,
304
307
  :euros=> 2133.34,
308
+ :created=> "2019-06-20T11:40:34.547Z",
305
309
  :draws=>
306
310
  [{:drawId=>"54591",
307
311
  :drawName=>"cr5Q7pq4G8",
@@ -361,6 +365,7 @@ On this example wrong_min_length will contain something like:
361
365
  :name=>"bU",
362
366
  :age=> 5,
363
367
  :euros=> -452.311,
368
+ :created=> "2019-06-20T11:40:34.547",
364
369
  :draws=>
365
370
  [{:drawId=>"", :drawName=>"P03AgdMqV", :type=>"Dail", :owner=>"dYzLRMCnVc"},
366
371
  {:drawId=>"", :drawName=>"qw", :type=>"Dail", :owner=>"zkHhTEzM"}],
@@ -497,6 +502,7 @@ After using the bury method default_values will contain:
497
502
  :name=>"HdmsjLxlEgYIFY",
498
503
  :age=> 20,
499
504
  :euros=> 155.11,
505
+ :created=>"2019-06-20T11:40:34.547Z",
500
506
  :draws=>
501
507
  [{:drawId=>"12318",
502
508
  :drawName=>"FirstDraw",
@@ -533,6 +539,7 @@ values = {
533
539
  :name=>"LTqVKxxFCTqpkdjFkxU",
534
540
  :age=> 20,
535
541
  :euros=> 155.11,
542
+ :created=>"2019-06-20T11:40:34.547Z",
536
543
  :draws=>
537
544
  [{:drawId=>"54a43",
538
545
  :drawName=>"h3F24yjMWp",
@@ -434,6 +434,27 @@ class NiceHash
434
434
  end
435
435
  end
436
436
  end
437
+ elsif value.kind_of?(Class) and value == DateTime
438
+ if expected_errors.empty?
439
+ hashv[key] = Time.now.stamp
440
+ else
441
+ hashv[key] = Time.now.stamp
442
+ expected_errors.each do |er|
443
+ if er == :min_length
444
+ hashv[key] = hashv[key].chop
445
+ elsif er == :max_length
446
+ hashv[key] = hashv[key] + "Z"
447
+ elsif er == :length
448
+ if rand.round==1
449
+ hashv[key] = hashv[key].chop
450
+ else
451
+ hashv[key] = hashv[key] + "Z"
452
+ end
453
+ elsif er == :value
454
+ hashv[key][rand(hashv[key].size-1)] = '1:L'.gen
455
+ end
456
+ end
457
+ end
437
458
  elsif value.kind_of?(Proc)
438
459
  hashv[key] = value.call
439
460
  elsif value.kind_of?(Regexp)
@@ -548,6 +569,12 @@ class NiceHash
548
569
  elsif values[key] < value.first or values[key] > value.last
549
570
  results[key] = false
550
571
  end
572
+ elsif value.kind_of?(Class) and value == DateTime
573
+ if values[key].size == 24
574
+ d = Date.strptime(values[key], '%Y-%m-%dT%H:%M:%S.%LZ') rescue results[key] = false
575
+ else
576
+ results[key] = false
577
+ end
551
578
  elsif value.kind_of?(Regexp)
552
579
  rex = Regexp.new("^#{value}$")
553
580
  unless values[key].match?(rex)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nice_hash
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.9
4
+ version: 1.12.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-19 00:00:00.000000000 Z
11
+ date: 2019-06-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: string_pattern