nice_hash 1.15.4 → 1.15.5

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 +31 -0
  3. data/lib/nice/hash/generate.rb +12 -3
  4. metadata +9 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7f0aad640f99683aac5af41fb02fd259e7babed5c61ef52e71b1b1f5210c7be4
4
- data.tar.gz: 4badbdcb7fa2d8d6f1a17588e2373a8491fa86b7b4f527619a8f9a5bd25f9825
3
+ metadata.gz: 3605a43d942a85cf7db1fc4443d1c012433f0954dc5ea7362860ca377820b25d
4
+ data.tar.gz: 15383b286336f04f2164de0a0cdc3c992ea320fcf22d7937e60835b5ade60b01
5
5
  SHA512:
6
- metadata.gz: afd06af350171b1c6726d08cfbf116c8a09ecd25d796f748468880360f8a783d6454195bd18de4dfca79dd5c3e699e0e9a5e8271ffc8d67afd1673afff813824
7
- data.tar.gz: d5ddbd2b11a098e05a5e729fd75f11d72c0e163644e6f7b7a3eab3f2870622f2a26aaf1ce80f8e3dfd9416702bc7c4d5924b467b87ea77bf80698a4b1ee77784
6
+ metadata.gz: 4bd607adebe21e61767640a6b6435ca8dce9123864940e88b65e7430047229b2bc4fab86a7210863127cacffe0028ab692f565c668f1ff65fb6ae0a5a1a3dc61
7
+ data.tar.gz: 3742a730f12dd29afc640d1276ea95f1803770feedef83e79127f4e3fb669e35de3f54dfdd12226689c285c2bda1d9615335cc54fabe24c7904ad2474f0451e9
data/README.md CHANGED
@@ -38,6 +38,8 @@ To use nice_hash on Http connections take a look at nice_http gem: https://githu
38
38
  + [Deep copy of a hash](#deep-copy-of-a-hash)
39
39
  + [Nested deletion](#nested-deletion)
40
40
  + [Boolean class](#boolean-class)
41
+ * [Other tools integration](#other-tools-integration)
42
+ + [Tabulo](#tabulo)
41
43
  - [Contributing](#contributing)
42
44
  - [License](#license)
43
45
 
@@ -882,6 +884,35 @@ text = 'true'
882
884
  value.is_a?(Boolean) #> true
883
885
  text.is_a?(Boolean) #> false
884
886
 
887
+ ```
888
+ ### Other tools integration
889
+
890
+ #### Tabulo
891
+
892
+ You can use tabulo (https://github.com/matt-harvey/tabulo) and nice_hash together:
893
+
894
+ ```ruby
895
+ require 'nice_hash'
896
+ require 'tabulo'
897
+
898
+ my_data = [
899
+ {id:'1', name: 'Peter', city: 'London', account: '112124', client: true },
900
+ {id:'2', name: 'Ann', city: 'Madrid', account: '4454656', client: true },
901
+ {id:'3', name: 'John', city: 'New York', account: '5645666', client: false }
902
+ ]
903
+
904
+ puts Tabulo::Table.new(my_data, :id, :name, :city, :client, border: :modern).pack
905
+ ```
906
+
907
+ It will generate:
908
+ ```
909
+ ┌────┬───────┬──────────┬────────┐
910
+ │ id │ name │ city │ client │
911
+ ├────┼───────┼──────────┼────────┤
912
+ │ 1 │ Peter │ London │ true │
913
+ │ 2 │ Ann │ Madrid │ true │
914
+ │ 3 │ John │ New York │ false │
915
+ └────┴───────┴──────────┴────────┘
885
916
  ```
886
917
 
887
918
  ## Contributing
@@ -134,16 +134,25 @@ class NiceHash
134
134
  end
135
135
  elsif value.kind_of?(Range)
136
136
  if expected_errors.empty?
137
+ if value.size == Float::INFINITY
138
+ value = (value.min..2**64)
139
+ end
137
140
  hashv[key] = rand(value)
138
141
  else
139
- hashv[key] = rand(value)
142
+ if value.size == Float::INFINITY
143
+ infinite = true
144
+ value = (value.min..2**64)
145
+ else
146
+ infinite = false
147
+ hashv[key] = rand(value)
148
+ end
140
149
  expected_errors.each do |er|
141
150
  if er == :min_length
142
151
  hashv[key] = rand((value.first - value.last)..value.first - 1)
143
- elsif er == :max_length
152
+ elsif er == :max_length and !infinite
144
153
  hashv[key] = rand((value.last + 1)..(value.last * 2))
145
154
  elsif er == :length
146
- if rand.round == 1
155
+ if rand.round == 1 or infinite
147
156
  hashv[key] = rand((value.first - value.last)..value.first - 1)
148
157
  else
149
158
  hashv[key] = rand((value.last + 1)..(value.last * 2))
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.15.4
4
+ version: 1.15.5
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-10-29 00:00:00.000000000 Z
11
+ date: 2020-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: string_pattern
@@ -34,22 +34,22 @@ dependencies:
34
34
  name: rspec
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: '3.8'
40
37
  - - ">="
41
38
  - !ruby/object:Gem::Version
42
39
  version: 3.8.0
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '3.8'
43
43
  type: :development
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '3.8'
50
47
  - - ">="
51
48
  - !ruby/object:Gem::Version
52
49
  version: 3.8.0
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '3.8'
53
53
  description: 'NiceHash creates hashes following certain patterns so your testing will
54
54
  be much easier. Parse and filter JSON. You can easily generate all the hashes you
55
55
  want following the criteria you specify. Many other features coming to Hash class
@@ -101,8 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
103
  requirements: []
104
- rubyforge_project:
105
- rubygems_version: 2.7.6
104
+ rubygems_version: 3.0.3
106
105
  signing_key:
107
106
  specification_version: 4
108
107
  summary: NiceHash creates hashes following certain patterns so your testing will be