hash_to_csv 0.1.0 → 0.1.1
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.
- data/lib/hash_to_csv/hash_to_csv.rb +8 -4
- metadata +5 -5
@@ -8,7 +8,7 @@ module HashToCsv
|
|
8
8
|
@hash_flattener = hash_flattener
|
9
9
|
end
|
10
10
|
|
11
|
-
def to_csv(hashes, options={})
|
11
|
+
def to_csv(hashes, options={}, &block)
|
12
12
|
@hashes = [hashes].flatten.map { |h| @hash_flattener.flatten h }
|
13
13
|
@include = options[:include]
|
14
14
|
@exclude = options[:exclude]
|
@@ -16,7 +16,7 @@ module HashToCsv
|
|
16
16
|
|
17
17
|
CSV.generate do |csv|
|
18
18
|
csv << column_names
|
19
|
-
rows.each { |row| csv << values_for_row(row) }
|
19
|
+
rows.each { |row| csv << values_for_row(row, &block) }
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
@@ -35,8 +35,12 @@ module HashToCsv
|
|
35
35
|
@hashes
|
36
36
|
end
|
37
37
|
|
38
|
-
def values_for_row(row)
|
39
|
-
column_names.map
|
38
|
+
def values_for_row(row, &block)
|
39
|
+
column_names.map do |column_name|
|
40
|
+
value = row[column_name]
|
41
|
+
value = block.call value, column_name if block
|
42
|
+
value
|
43
|
+
end
|
40
44
|
end
|
41
45
|
|
42
46
|
def all_keys
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hash_to_csv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2013-03-18 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: hash_flattener
|
16
|
-
requirement: &
|
16
|
+
requirement: &70152393967780 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - =
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.2.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70152393967780
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &70152393967220 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70152393967220
|
36
36
|
description:
|
37
37
|
email: matthew-github@matthewriley.name
|
38
38
|
executables: []
|