faked_csv 0.1.3 → 0.1.4
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.
- 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
|