idata 0.0.2 → 0.0.3
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 +7 -0
- data/bin/iexport +19 -3
- data/lib/idata/version.rb +1 -1
- metadata +79 -103
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: de1fa33723709e45d67e5495ed8ca37134878e0c
|
4
|
+
data.tar.gz: bd2ed5bb808e59a51289a8f6c43094dbc250b57f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d7e6f3453ba1f48d6544cce26965ae1886b4e075adcef4afb2d966430d26e08ddd3796f125c8956b1daaf360923bfcd1cf57d20e77319cd4b397d5c336364a53
|
7
|
+
data.tar.gz: c3ee509d9390d2f495a99441458b7c3c90a9a5d295969b37ae4653585b904236c6d7c8a45fd7dbb317a91c1df153521a98160ca8b3fad41f35dc099bc9ef1669
|
data/bin/iexport
CHANGED
@@ -17,6 +17,7 @@ require 'fileutils'
|
|
17
17
|
SUPPORTED_INPUT_FORMATS = ['CSV']
|
18
18
|
POSTGRESQL_PORT = 5432
|
19
19
|
CSV_DEFAULT_DELIMITER = ','
|
20
|
+
CSV_ROW_SEP = "\r\n"
|
20
21
|
|
21
22
|
$options = {}
|
22
23
|
parser = OptionParser.new("", 24) do |opts|
|
@@ -26,10 +27,22 @@ parser = OptionParser.new("", 24) do |opts|
|
|
26
27
|
$options[:format] = v
|
27
28
|
end
|
28
29
|
|
30
|
+
opts.on("--[no-]headers", "Whether or not export the header") do |v|
|
31
|
+
$options[:headers] = v
|
32
|
+
end
|
33
|
+
|
34
|
+
opts.on("--[no-]quotes", "Quote null values") do |v|
|
35
|
+
$options[:quotes] = v
|
36
|
+
end
|
37
|
+
|
29
38
|
opts.on("--delim DELIMITER", "CSV delimiter") do |v|
|
30
39
|
$options[:delim] = v
|
31
40
|
end
|
32
41
|
|
42
|
+
opts.on("--linebreak CHAR", "") do |v|
|
43
|
+
$options[:linebreak] = v
|
44
|
+
end
|
45
|
+
|
33
46
|
opts.on("-t", "--table TABLE", "Table name to be created") do |v|
|
34
47
|
$options[:table] = v
|
35
48
|
end
|
@@ -79,7 +92,7 @@ EXAMPLES
|
|
79
92
|
-------------------------------------------------------
|
80
93
|
|
81
94
|
ruby export.rb --host=localhost --username=postgres --database=db --table=items \\
|
82
|
-
--output=/tmp/data.csv --format=csv --delim="\\t" \\
|
95
|
+
--output=/tmp/data.csv --format=csv --delim="\\t" --linebreak=$'\\r\\n' \\
|
83
96
|
--select="id, name AS vendor_name, age" --where="active = 1"
|
84
97
|
|
85
98
|
eos
|
@@ -132,7 +145,10 @@ end
|
|
132
145
|
# Default value
|
133
146
|
$options[:listen] ||= POSTGRESQL_PORT
|
134
147
|
$options[:delim] ||= CSV_DEFAULT_DELIMITER
|
148
|
+
$options[:linebreak] ||= CSV_ROW_SEP
|
135
149
|
$options[:delim] = "\t" if $options[:delim] == '\t'
|
150
|
+
$options[:headers] ||= false
|
151
|
+
$options[:quotes] ||= false
|
136
152
|
$options[:select] ||= '*'
|
137
153
|
$options[:where] ||= 'true'
|
138
154
|
|
@@ -151,9 +167,9 @@ class Product < ActiveRecord::Base
|
|
151
167
|
self.table_name = $options[:table]
|
152
168
|
end
|
153
169
|
|
154
|
-
CSV.open($options[:output], "wb", :col_sep => $options[:delim]) do |csv|
|
170
|
+
CSV.open($options[:output], "wb", :col_sep => $options[:delim], :row_sep => $options[:linebreak], :force_quotes => $options[:quotes]) do |csv|
|
155
171
|
scope = Product.select($options[:select]).where($options[:where])
|
156
|
-
csv << scope.first.attributes.keys
|
172
|
+
csv << scope.first.attributes.keys if $options[:headers]
|
157
173
|
|
158
174
|
scope.each do |item|
|
159
175
|
csv << item.attributes.values
|
data/lib/idata/version.rb
CHANGED
metadata
CHANGED
@@ -1,86 +1,75 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: idata
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease: false
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 2
|
10
|
-
version: 0.0.2
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.3
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Nghi Pham
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2014-04-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
22
14
|
name: bundler
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 9
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 3
|
33
|
-
version: "1.3"
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
34
20
|
type: :development
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: rake
|
38
21
|
prerelease: false
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.9'
|
49
34
|
type: :development
|
50
|
-
version_requirements: *id002
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
|
-
name: rails
|
53
35
|
prerelease: false
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.9'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rails
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '4.0'
|
64
48
|
type: :runtime
|
65
|
-
version_requirements: *id003
|
66
|
-
- !ruby/object:Gem::Dependency
|
67
|
-
name: pg
|
68
49
|
prerelease: false
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '4.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pg
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
78
62
|
type: :runtime
|
79
|
-
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
80
69
|
description: Tools for importing data from raw files
|
81
|
-
email:
|
70
|
+
email:
|
82
71
|
- minhnghivn@gmail.com
|
83
|
-
executables:
|
72
|
+
executables:
|
84
73
|
- iload
|
85
74
|
- ieval
|
86
75
|
- ipatch
|
@@ -88,57 +77,44 @@ executables:
|
|
88
77
|
- iexport
|
89
78
|
- isanitize
|
90
79
|
extensions: []
|
91
|
-
|
92
80
|
extra_rdoc_files: []
|
93
|
-
|
94
|
-
files:
|
81
|
+
files:
|
95
82
|
- .gitignore
|
96
83
|
- Gemfile
|
97
84
|
- LICENSE.txt
|
98
85
|
- README.md
|
99
86
|
- Rakefile
|
100
|
-
- idata.gemspec
|
101
|
-
- lib/idata.rb
|
102
|
-
- lib/idata/version.rb
|
103
|
-
- bin/iload
|
104
87
|
- bin/ieval
|
105
|
-
- bin/ipatch
|
106
|
-
- bin/ivalidate
|
107
88
|
- bin/iexport
|
89
|
+
- bin/iload
|
90
|
+
- bin/ipatch
|
108
91
|
- bin/isanitize
|
109
|
-
|
110
|
-
|
111
|
-
|
92
|
+
- bin/ivalidate
|
93
|
+
- idata.gemspec
|
94
|
+
- lib/idata.rb
|
95
|
+
- lib/idata/version.rb
|
96
|
+
homepage: ''
|
97
|
+
licenses:
|
112
98
|
- MIT
|
99
|
+
metadata: {}
|
113
100
|
post_install_message:
|
114
101
|
rdoc_options: []
|
115
|
-
|
116
|
-
require_paths:
|
102
|
+
require_paths:
|
117
103
|
- lib
|
118
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
none: false
|
129
|
-
requirements:
|
130
|
-
- - ">="
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
hash: 3
|
133
|
-
segments:
|
134
|
-
- 0
|
135
|
-
version: "0"
|
104
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - '>='
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
109
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - '>='
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '0'
|
136
114
|
requirements: []
|
137
|
-
|
138
115
|
rubyforge_project:
|
139
|
-
rubygems_version:
|
116
|
+
rubygems_version: 2.2.1
|
140
117
|
signing_key:
|
141
|
-
specification_version:
|
118
|
+
specification_version: 4
|
142
119
|
summary: Tools for importing data from raw files
|
143
120
|
test_files: []
|
144
|
-
|