copilot 0.0.8 → 0.1.0
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/copilot/csv.rb +5 -2
- metadata +9 -10
- data/lib/copilot/array_to_csv_converter.rb +0 -52
data/lib/copilot/csv.rb
CHANGED
@@ -1,9 +1,12 @@
|
|
1
|
-
|
1
|
+
require 'hash_to_csv'
|
2
2
|
|
3
3
|
class Array
|
4
4
|
|
5
5
|
def to_csv(options={})
|
6
|
-
|
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
|
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-
|
12
|
+
date: 2013-03-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
16
|
-
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:
|
21
|
+
version: 0.1.2
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70133217628500
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: watir-webdriver
|
27
|
-
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: *
|
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
|