faked_csv 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/faked_csv/generator.rb +9 -0
- data/lib/faked_csv/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6984c16e45f90ac775396b9c980e46d94152cf4e
|
4
|
+
data.tar.gz: 4c87d07bff7d33ac8d9a33bab7141175c4b57d46
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0d095113517050b0e1e0f4b83f25b40125a8f770c5d42141036182e068b5a10b47fd2507d87f77216ee69f0a7ceba5708ce9f3799620373961f095103a160bf
|
7
|
+
data.tar.gz: 2761601e98483458b92d01f45b1ed0fb2a22e7cd463cdd904ed2a873ce9acbc1be3dd9242dfacbcda9b3505d2c233fc75f26fbde314531734831ce4782f2e01f
|
data/lib/faked_csv/generator.rb
CHANGED
@@ -24,13 +24,16 @@ module FakedCSV
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def generate
|
27
|
+
puts "preparing values ..."
|
27
28
|
prepare_values
|
28
29
|
|
29
30
|
@config.fields.each do |field|
|
31
|
+
puts "generating random data for #{field} ..."
|
30
32
|
field[:data] = []
|
31
33
|
|
32
34
|
# let's get some data!
|
33
35
|
if field[:type] == :inc_int
|
36
|
+
puts "generating increment values ..."
|
34
37
|
i = field[:start]
|
35
38
|
@config.row_count.times do
|
36
39
|
field[:data] << i
|
@@ -38,16 +41,19 @@ module FakedCSV
|
|
38
41
|
end
|
39
42
|
elsif field[:rotate].nil? || field[:type] == :fixed
|
40
43
|
# not rotating? or fixed values? generate random value each time
|
44
|
+
puts "calling generator ..."
|
41
45
|
@config.row_count.times do
|
42
46
|
field[:data] << _random_value(field)
|
43
47
|
end
|
44
48
|
|
45
49
|
# inject user values if given and not fixed type
|
50
|
+
puts "injecting values ..."
|
46
51
|
unless field[:type] == :fixed || field[:inject].nil?
|
47
52
|
_random_inject(field[:data], field[:inject])
|
48
53
|
end
|
49
54
|
else
|
50
55
|
# rotating? pick from prepared values
|
56
|
+
puts "selecting data from rotation ..."
|
51
57
|
_random_distribution(@config.row_count, field[:values].size) do |i, j|
|
52
58
|
field[:data][i] = field[:values][j]
|
53
59
|
end
|
@@ -57,6 +63,7 @@ module FakedCSV
|
|
57
63
|
|
58
64
|
def prepare_values
|
59
65
|
@config.fields.each do |field|
|
66
|
+
puts "prepare value for #{field} ..."
|
60
67
|
# if it's fixed values or no rotate
|
61
68
|
# we don't want to prepare values for this field
|
62
69
|
if [:inc_int, :fixed].include?(field[:type]) || field[:rotate].nil?
|
@@ -70,6 +77,7 @@ module FakedCSV
|
|
70
77
|
|
71
78
|
values = {}
|
72
79
|
# let's first inject all user values if given
|
80
|
+
puts "injecting user values ..."
|
73
81
|
unless field[:inject].nil?
|
74
82
|
field[:inject].each do |inj|
|
75
83
|
values[inj] = true
|
@@ -78,6 +86,7 @@ module FakedCSV
|
|
78
86
|
end
|
79
87
|
end
|
80
88
|
# then generate as many data as we need
|
89
|
+
puts "looping to get enough values ..."
|
81
90
|
_loop do
|
82
91
|
# we want to get <rotate> unique values. stop when we got enough
|
83
92
|
break if values.size >= field[:rotate]
|
data/lib/faked_csv/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faked_csv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jianan Lu
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|