copilot 0.0.8 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/copilot/csv.rb CHANGED
@@ -1,9 +1,12 @@
1
- require_relative 'array_to_csv_converter'
1
+ require 'hash_to_csv'
2
2
 
3
3
  class Array
4
4
 
5
5
  def to_csv(options={})
6
- CoPilot::ArrayToCsvConverter.new(self, options).convert
6
+ HashToCsv.to_csv self, options do |value|
7
+ value = value.to_s.gsub "\n", ' '
8
+ value.gsub(/ {2,}/, '')
9
+ end
7
10
  end
8
11
 
9
12
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: copilot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-14 00:00:00.000000000 Z
12
+ date: 2013-03-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: hash_flattener
16
- requirement: &70291170643440 !ruby/object:Gem::Requirement
15
+ name: hash_to_csv
16
+ requirement: &70133217628500 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - =
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: 0.1.2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70291170643440
24
+ version_requirements: *70133217628500
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: watir-webdriver
27
- requirement: &70291170638840 !ruby/object:Gem::Requirement
27
+ requirement: &70133217628040 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,14 +32,13 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70291170638840
35
+ version_requirements: *70133217628040
36
36
  description:
37
37
  email: matthew-github@matthewriley.name
38
38
  executables: []
39
39
  extensions: []
40
40
  extra_rdoc_files: []
41
41
  files:
42
- - lib/copilot/array_to_csv_converter.rb
43
42
  - lib/copilot/csv.rb
44
43
  - lib/copilot/facade.rb
45
44
  - lib/copilot/requests/builds_for_bundle_id_request.rb
@@ -1,52 +0,0 @@
1
- require 'csv'
2
- require 'hash_flattener'
3
-
4
- module CoPilot
5
- class ArrayToCsvConverter
6
-
7
- def initialize(array, options={})
8
- @array = array
9
- @include = options[:include]
10
- @exclude = options[:exclude] || []
11
- end
12
-
13
- def convert
14
- CSV.generate do |csv|
15
- csv << columns
16
- rows.each { |r| csv << columns.map { |c| format_value r[c] } }
17
- end
18
- end
19
-
20
- private
21
-
22
- def rows
23
- @rows ||= @array.map { |r| HashFlattener.flatten r }
24
- end
25
-
26
- def columns
27
- return @columns if @columns
28
- columns = @include || extract_columns_from_rows
29
- @columns = columns.reject { |c1| @exclude.index { |c2| c1 =~ c2 } }
30
- end
31
-
32
- def format_value(value)
33
- value = remove_newlines value
34
- remove_multiple_spaces value
35
- end
36
-
37
- def remove_newlines(value)
38
- value.to_s.gsub "\n", ' '
39
- end
40
-
41
- def remove_multiple_spaces(value)
42
- value.gsub(/ {2,}/, '')
43
- end
44
-
45
- def extract_columns_from_rows
46
- keys = Set.new
47
- rows.each { |r| keys += r.keys }
48
- keys.sort
49
- end
50
-
51
- end
52
- end