hash_to_csv 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/hash_to_csv/hash_to_csv.rb +8 -4
  2. 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 { |column_name| row[column_name] }
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.0
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: &70206923982300 !ruby/object:Gem::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: *70206923982300
24
+ version_requirements: *70152393967780
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70206923981500 !ruby/object:Gem::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: *70206923981500
35
+ version_requirements: *70152393967220
36
36
  description:
37
37
  email: matthew-github@matthewriley.name
38
38
  executables: []