csv2json 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -46,13 +46,14 @@ gets turned into this JSON:
46
46
 
47
47
  ### Installation
48
48
 
49
- `sudo gem install csv2json --source gemcutter.org`
49
+ `sudo gem install csv2json --source http://rubygems.org`
50
50
 
51
51
  ### Usage
52
52
 
53
53
  Usage: csv2json [INPUT] [OPTIONS]
54
54
 
55
55
  Specific options:
56
+ -s, --separator SEP Set separator character surrounded by single quotes (default is ',')
56
57
  -o, --output FILE Write output to a file
57
58
  -h, --help Show this message
58
59
  -v, --version Show version
@@ -88,18 +89,18 @@ or in-memory
88
89
  output.pos = 0
89
90
  puts output.read
90
91
 
92
+ ## Authors
93
+
94
+ * **Antonin Hildebrand** ([http://binaryage.com](http://binaryage.com))
95
+ * **Rafael Souza** ([http://github.com/rafaels](http://github.com/rafaels))
96
+
97
+ ---
98
+
91
99
  ## Want to contribute?
92
-
100
+
93
101
  * Fork the project.
94
102
  * Make your feature addition or bug fix.
95
- * Add tests for it. This is important so I don't break it in a
96
- future version unintentionally.
103
+ * Add tests for it. This is important so I don't break it in a future version unintentionally.
97
104
  * Commit, do not mess with rakefile, version, or history.
98
105
  (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
99
- * Send me a pull request. Bonus points for topic branches.
100
-
101
- ## Copyright
102
-
103
- Copyright (c) 2009 Antonin Hildebrand. See LICENSE for details.
104
-
105
- Check out [http://binaryage.com](http://binaryage.com)
106
+ * Send me a pull request. Bonus points for topic branches.
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ begin
11
11
  gem.description = %Q{handy for converting xls files to json}
12
12
  gem.email = "antonin@hildebrand.cz"
13
13
  gem.homepage = "http://github.com/darwin/csv2json"
14
- gem.authors = ["Antonin Hildebrand"]
14
+ gem.authors = ["Antonin Hildebrand", "Rafael Souza"]
15
15
  gem.add_dependency "json"
16
16
  gem.add_dependency "fastercsv"
17
17
  gem.add_development_dependency "shoulda", ">= 0"
@@ -13,12 +13,17 @@ module CSV2JSONRunner
13
13
 
14
14
  options = OpenStruct.new
15
15
  options.output = "-"
16
+ options.separator = ","
16
17
 
17
18
  opts = OptionParser.new do |o|
18
19
  o.banner = USAGE
19
20
  o.separator ""
20
21
  o.separator "Specific options:"
21
22
 
23
+ o.on("-s", "--separator SEP", "Set separator character surrounded by single quotes (default is ',')") do |sep|
24
+ options.separator = sep
25
+ end
26
+
22
27
  o.on("-o", "--output FILE", "Write output to a file") do |fn|
23
28
  options.output = fn
24
29
  end
@@ -54,8 +59,8 @@ module CSV2JSONRunner
54
59
  end
55
60
 
56
61
  # run the command
57
- CSV2JSON.parse(IN, OUT)
62
+ CSV2JSON.parse(IN, OUT, nil, :col_sep => options.separator)
58
63
 
59
64
  # leave in peace
60
65
  OUT.flush
61
- end
66
+ end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{csv2json}
8
- s.version = "0.1.1"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Antonin Hildebrand"]
12
- s.date = %q{2009-12-05}
11
+ s.authors = ["Antonin Hildebrand", "Rafael Souza"]
12
+ s.date = %q{2010-03-14}
13
13
  s.default_executable = %q{csv2json}
14
14
  s.description = %q{handy for converting xls files to json}
15
15
  s.email = %q{antonin@hildebrand.cz}
@@ -28,19 +28,25 @@ Gem::Specification.new do |s|
28
28
  "csv2json.gemspec",
29
29
  "lib/csv2json-version.rb",
30
30
  "lib/csv2json.rb",
31
- "test/fixtures/addresses.csv",
32
31
  "test/fixtures/addresses.json",
33
- "test/fixtures/photos.csv",
32
+ "test/fixtures/addresses_comma.csv",
33
+ "test/fixtures/addresses_pipe.csv",
34
+ "test/fixtures/addresses_semicolon.csv",
34
35
  "test/fixtures/photos.json",
35
- "test/fixtures/population.csv",
36
+ "test/fixtures/photos_comma.csv",
37
+ "test/fixtures/photos_pipe.csv",
38
+ "test/fixtures/photos_semicolon.csv",
36
39
  "test/fixtures/population.json",
40
+ "test/fixtures/population_comma.csv",
41
+ "test/fixtures/population_pipe.csv",
42
+ "test/fixtures/population_semicolon.csv",
37
43
  "test/helper.rb",
38
44
  "test/test_csv2json.rb"
39
45
  ]
40
46
  s.homepage = %q{http://github.com/darwin/csv2json}
41
47
  s.rdoc_options = ["--charset=UTF-8"]
42
48
  s.require_paths = ["lib"]
43
- s.rubygems_version = %q{1.3.5}
49
+ s.rubygems_version = %q{1.3.6}
44
50
  s.summary = %q{.csv to .json converter}
45
51
  s.test_files = [
46
52
  "test/helper.rb",
@@ -1,3 +1,3 @@
1
1
  module CSV2JSON
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -11,10 +11,10 @@ module CSV2JSON
11
11
  end
12
12
 
13
13
  # input and output are file objects, you can use StringIO if you want to work in memory
14
- def parse(input, output, headers=nil)
14
+ def parse(input, output, headers=nil, options={})
15
15
  result = Array.new
16
16
 
17
- FasterCSV.new(input).each do |row|
17
+ FasterCSV.new(input, options).each do |row|
18
18
  # treat first row as headers if the caller didn't provide them
19
19
  unless headers
20
20
  headers = row
@@ -33,4 +33,4 @@ module CSV2JSON
33
33
  module_function :parse
34
34
  module_function :convert
35
35
 
36
- end
36
+ end
@@ -0,0 +1,16 @@
1
+ Office|Address1|Address2|Address3|City|State|Zip|Phone|Fax
2
+ Headquarters|1600 Amphitheatre Parkway|||Mountain View|CA|94043|650-253-0000|650-253-0001
3
+ New York Sales & Engineering Office|76 Ninth Avenue|||New York|NY|10011|212-565-0000|212-565-0001
4
+ Ann Arbor Sales Office|201 South Division Street|||Ann Arbor|MI|48104|734-332-6500|734-332-6501
5
+ Atlanta Sales & Engineering Office|10 10th Street NE|||Atlanta|GA|30309|404-487-9000|404-487-9001
6
+ Boulder Sales & Engineering Office|2590 Pearl St.|||Boulder|CO|80302|303-245-0086|303-535-5592
7
+ Cambridge Sales & Engineering Office|5 Cambridge Center|||Cambridge|MA|02142|617-682-3635|617-249-0199
8
+ Chicago Sales & Engineering Office|20 West Kinzie St.|||Chicago|IL|60610|312-840-4100|312-840-4101
9
+ Coppell Sales Office|701 Canyon Drive|||Coppell|TX|75019|214-451-4000|214-451-4001
10
+ Detroit Sales Office|114 Willits Street|||Birmingham|MI|48009|248-351-6220|248-351-6227
11
+ Irvine Sales & Engineering Office|19540 Jamboree Road|||Irvine|CA|92612|949-794-1600|949-794-1601
12
+ Pittsburgh Engineering Office|4720 Forbes Avenue|||Pittsburgh|PA|15213||
13
+ Santa Monica Sales & Engineering Office|604 Arizona Avenue|||Santa Monica|CA|90401|310-460-4000|310-309-6840
14
+ Seattle Engineering Office|720 4th Avenue|||Kirkland|WA|98033|425-739-5600|425-739-5601
15
+ Seattle Sales Office|501 N. 34th Street|||Seattle|WA|98103|206-876-1500|206-876-1501
16
+ Washington D.C. Public Policy Office|1001 Pennsylvania Avenue NW|||Washington|DC|20004|202-742-6520|
@@ -0,0 +1,16 @@
1
+ Office;Address1;Address2;Address3;City;State;Zip;Phone;Fax
2
+ Headquarters;1600 Amphitheatre Parkway;;;Mountain View;CA;94043;650-253-0000;650-253-0001
3
+ New York Sales & Engineering Office;76 Ninth Avenue;;;New York;NY;10011;212-565-0000;212-565-0001
4
+ Ann Arbor Sales Office;201 South Division Street;;;Ann Arbor;MI;48104;734-332-6500;734-332-6501
5
+ Atlanta Sales & Engineering Office;10 10th Street NE;;;Atlanta;GA;30309;404-487-9000;404-487-9001
6
+ Boulder Sales & Engineering Office;2590 Pearl St.;;;Boulder;CO;80302;303-245-0086;303-535-5592
7
+ Cambridge Sales & Engineering Office;5 Cambridge Center;;;Cambridge;MA;02142;617-682-3635;617-249-0199
8
+ Chicago Sales & Engineering Office;20 West Kinzie St.;;;Chicago;IL;60610;312-840-4100;312-840-4101
9
+ Coppell Sales Office;701 Canyon Drive;;;Coppell;TX;75019;214-451-4000;214-451-4001
10
+ Detroit Sales Office;114 Willits Street;;;Birmingham;MI;48009;248-351-6220;248-351-6227
11
+ Irvine Sales & Engineering Office;19540 Jamboree Road;;;Irvine;CA;92612;949-794-1600;949-794-1601
12
+ Pittsburgh Engineering Office;4720 Forbes Avenue;;;Pittsburgh;PA;15213;;
13
+ Santa Monica Sales & Engineering Office;604 Arizona Avenue;;;Santa Monica;CA;90401;310-460-4000;310-309-6840
14
+ Seattle Engineering Office;720 4th Avenue;;;Kirkland;WA;98033;425-739-5600;425-739-5601
15
+ Seattle Sales Office;501 N. 34th Street;;;Seattle;WA;98103;206-876-1500;206-876-1501
16
+ Washington D.C. Public Policy Office;1001 Pennsylvania Avenue NW;;;Washington;DC;20004;202-742-6520;
@@ -0,0 +1,13 @@
1
+ thumbpath|imgpath|imgsrc|width|height|thumbsrc|thumbwidth|thumbheight
2
+ thumbnails/|images/|paris_01.jpg|350|262|paris_01.jpg|75|56
3
+ thumbnails/|images/|paris_02.jpg|262|350|paris_02.jpg|75|56
4
+ thumbnails/|images/|paris_03.jpg|350|262|paris_03.jpg|75|56
5
+ thumbnails/|images/|paris_04.jpg|262|350|paris_04.jpg|56|75
6
+ thumbnails/|images/|paris_05.jpg|262|350|paris_05.jpg|56|75
7
+ thumbnails/|images/|paris_06.jpg|350|262|paris_06.jpg|75|56
8
+ thumbnails/|images/|paris_07.jpg|262|350|paris_07.jpg|56|75
9
+ thumbnails/|images/|paris_08.jpg|262|350|paris_08.jpg|56|75
10
+ thumbnails/|images/|paris_09.jpg|262|350|paris_09.jpg|56|75
11
+ thumbnails/|images/|paris_10.jpg|350|262|paris_10.jpg|75|56
12
+ thumbnails/|images/|paris_11.jpg|350|262|paris_11.jpg|75|56
13
+ thumbnails/|images/|paris_12.jpg|350|262|paris_12.jpg|75|56
@@ -0,0 +1,13 @@
1
+ thumbpath;imgpath;imgsrc;width;height;thumbsrc;thumbwidth;thumbheight
2
+ thumbnails/;images/;paris_01.jpg;350;262;paris_01.jpg;75;56
3
+ thumbnails/;images/;paris_02.jpg;262;350;paris_02.jpg;75;56
4
+ thumbnails/;images/;paris_03.jpg;350;262;paris_03.jpg;75;56
5
+ thumbnails/;images/;paris_04.jpg;262;350;paris_04.jpg;56;75
6
+ thumbnails/;images/;paris_05.jpg;262;350;paris_05.jpg;56;75
7
+ thumbnails/;images/;paris_06.jpg;350;262;paris_06.jpg;75;56
8
+ thumbnails/;images/;paris_07.jpg;262;350;paris_07.jpg;56;75
9
+ thumbnails/;images/;paris_08.jpg;262;350;paris_08.jpg;56;75
10
+ thumbnails/;images/;paris_09.jpg;262;350;paris_09.jpg;56;75
11
+ thumbnails/;images/;paris_10.jpg;350;262;paris_10.jpg;75;56
12
+ thumbnails/;images/;paris_11.jpg;350;262;paris_11.jpg;75;56
13
+ thumbnails/;images/;paris_12.jpg;350;262;paris_12.jpg;75;56
@@ -0,0 +1,54 @@
1
+ Geographic area|Total population|Under 18 years|18 to 24 years|25 to 44 years|45 to 64 years|65 years and over|Median age (years)|All ages|18 years and over|Flag|Website
2
+ United States| 281421906| 25.7| 9.6| 30.2| 22.0| 12.4| 35.3| 96.3| 93.4|flag_unitedstates.gif| http://www.usa.gov/
3
+ Alabama| 4447100| 25.3| 9.9| 29.0| 22.8| 13.0| 35.8| 93.3| 89.6|flag_alabama.gif| http://www.alabama.gov/
4
+ Alaska| 626932| 30.4| 9.1| 32.5| 22.3| 5.7| 32.4| 107.0| 107.6|flag_alaska.gif|http://www.alaska.gov/
5
+ Arizona| 5130632| 26.6| 10.0| 29.5| 20.9| 13.0| 34.2| 99.7| 97.7|flag_arizona.gif|http://www.arizona.gov/
6
+ Arkansas| 2673400| 25.4| 9.8| 28.1| 22.7| 14.0| 36.0| 95.3| 92.1|flag_arkansas.gif|http://www.arkansas.gov/
7
+ California| 33871648| 27.3| 9.9| 31.6| 20.5| 10.6| 33.3| 99.3| 97.1|flag_california.gif|http://www.california.gov/
8
+ Colorado| 4301261| 25.6| 10.0| 32.6| 22.2| 9.7| 34.3| 101.4| 100.0|flag_colorado.gif|http://www.colorado.gov/
9
+ Connecticut| 3405565| 24.7| 8.0| 30.3| 23.2| 13.8| 37.4| 93.9| 90.5|flag_connecticut.gif|http://www.connecticut.gov/
10
+ Delaware| 783600| 24.8| 9.6| 30.2| 22.4| 13.0| 36.0| 94.4| 91.0|flag_delaware.gif|http://www.delaware.gov/
11
+ District of Columbia| 572059| 20.1| 12.7| 33.1| 21.9| 12.2| 34.6| 89.0| 86.1||http://www.districtofcolumbia.gov/
12
+ Florida| 15982378| 22.8| 8.3| 28.6| 22.7| 17.6| 38.7| 95.3| 92.5|flag_florida.gif|http://www.florida.gov/
13
+ Georgia| 8186453| 26.5| 10.2| 32.4| 21.3| 9.6| 33.4| 96.8| 94.0|flag_georgia.gif|http://www.georgia.gov/
14
+ Hawaii| 1211537| 24.4| 9.5| 29.9| 22.9| 13.3| 36.2| 101.0| 99.4|flag_hawaii.gif|http://www.hawaii.gov/
15
+ Idaho| 1293953| 28.5| 10.7| 28.0| 21.5| 11.3| 33.2| 100.5| 98.5|flag_idaho.gif|http://www.idaho.gov/
16
+ Illinois| 12419293| 26.1| 9.8| 30.6| 21.5| 12.1| 34.7| 95.9| 92.9|flag_illinois.gif|http://www.illinois.gov/
17
+ Indiana| 6080485| 25.9| 10.1| 29.5| 22.1| 12.4| 35.2| 96.3| 93.3|flag_indiana.gif|http://www.indiana.gov/
18
+ Iowa| 2926324| 25.1| 10.2| 27.6| 22.2| 14.9| 36.6| 96.3| 93.4|flag_iowa.gif|http://www.iowa.gov/
19
+ Kansas| 2688418| 26.5| 10.3| 28.6| 21.4| 13.3| 35.2| 97.7| 95.0|flag_kansas.gif|http://www.kansas.gov/
20
+ Kentucky| 4041769| 24.6| 9.9| 30.0| 23.0| 12.5| 35.9| 95.6| 92.5|flag_kentucky.gif|http://www.kentucky.gov/
21
+ Louisiana| 4468976| 27.3| 10.6| 28.9| 21.6| 11.6| 34.0| 93.8| 90.1|flag_louisiana.gif|http://www.louisiana.gov/
22
+ Maine| 1274923| 23.6| 8.1| 29.1| 24.8| 14.4| 38.6| 94.8| 91.7|flag_maine.gif|http://www.maine.gov/
23
+ Maryland| 5296486| 25.6| 8.5| 31.4| 23.1| 11.3| 36.0| 93.4| 89.8|flag_maryland.gif|http://www.maryland.gov/
24
+ Massachusetts| 6349097| 23.6| 9.1| 31.3| 22.4| 13.5| 36.5| 93.0| 89.5|flag_massachusetts.gif|http://www.massachusetts.gov/
25
+ Michigan| 9938444| 26.1| 9.4| 29.8| 22.4| 12.3| 35.5| 96.2| 93.2|flag_michigan.gif|http://www.michigan.gov/
26
+ Minnesota| 4919479| 26.2| 9.6| 30.4| 21.8| 12.1| 35.4| 98.1| 95.6|flag_minnesota.gif|http://www.minnesota.gov/
27
+ Mississippi| 2844658| 27.3| 10.9| 28.4| 21.4| 12.1| 33.8| 93.4| 89.6|flag_mississippi.gif|http://www.mississippi.gov/
28
+ Missouri| 5595211| 25.5| 9.6| 29.1| 22.3| 13.5| 36.1| 94.6| 91.3|flag_missouri.gif|http://www.missouri.gov/
29
+ Montana| 902195| 25.5| 9.5| 27.2| 24.4| 13.4| 37.5| 99.3| 97.2|flag_montana.gif|http://www.montana.gov/
30
+ Nebraska| 1711263| 26.3| 10.2| 28.5| 21.5| 13.6| 35.3| 97.2| 94.6|flag_nebraska.gif|http://www.nebraska.gov/
31
+ Nevada| 1998257| 25.6| 9.0| 31.5| 23.0| 11.0| 35.0| 103.9| 103.2|flag_nevada.gif|http://www.nevada.gov/
32
+ New Hampshire| 1235786| 25.0| 8.4| 30.9| 23.8| 12.0| 37.1| 96.8| 94.1|flag_newhampshire.gif|http://www.newhampshire.gov/
33
+ New Jersey| 8414350| 24.8| 8.0| 31.2| 22.7| 13.2| 36.7| 94.3| 90.9|flag_newjersey.gif|http://www.newjersey.gov/
34
+ New Mexico| 1819046| 28.0| 9.8| 28.4| 22.2| 11.7| 34.6| 96.7| 94.0|flag_newmexico.gif|http://www.newmexico.gov/
35
+ New York| 18976457| 24.7| 9.3| 30.7| 22.3| 12.9| 35.9| 93.1| 89.4|flag_newyork.gif|http://www.newyork.gov/
36
+ North Carolina| 8049313| 24.4| 10.0| 31.1| 22.5| 12.0| 35.3| 96.0| 93.3|flag_northcarolina.gif|http://www.northcarolina.gov/
37
+ North Dakota| 642200| 25.0| 11.4| 27.2| 21.6| 14.7| 36.2| 99.6| 97.8|flag_northdakota.gif|http://www.northdakota.gov/
38
+ Ohio| 11353140| 25.4| 9.3| 29.3| 22.7| 13.3| 36.2| 94.4| 91.1|flag_ohio.gif|http://www.ohio.gov/
39
+ Oklahoma| 3450654| 25.9| 10.3| 28.3| 22.3| 13.2| 35.5| 96.6| 93.8|flag_oklahoma.gif|http://www.oklahoma.gov/
40
+ Oregon| 3421399| 24.7| 9.6| 29.1| 23.7| 12.8| 36.3| 98.4| 96.2|flag_oregon.gif|http://www.oregon.gov/
41
+ Pennsylvania| 12281054| 23.8| 8.9| 28.6| 23.1| 15.6| 38.0| 93.4| 89.9|flag_pennsylvania.gif|http://www.pennsylvania.gov/
42
+ Rhode Island| 1048319| 23.6| 10.2| 29.6| 22.0| 14.5| 36.7| 92.5| 88.8|flag_rhodeisland.gif|http://www.rhodeisland.gov/
43
+ South Carolina| 4012012| 25.2| 10.2| 29.6| 23.0| 12.1| 35.4| 94.5| 91.2|flag_southcarolina.gif|http://www.southcarolina.gov/
44
+ South Dakota| 754844| 26.8| 10.3| 27.3| 21.2| 14.3| 35.6| 98.5| 96.1|flag_southdakota.gif|http://www.southdakota.gov/
45
+ Tennessee| 5689283| 24.6| 9.6| 30.2| 23.2| 12.4| 35.9| 94.9| 91.6|flag_tennessee.gif|http://www.tennessee.gov/
46
+ Texas| 20851820| 28.2| 10.5| 31.1| 20.2| 9.9| 32.3| 98.6| 96.2|flag_texas.gif|http://www.texas.gov/
47
+ Utah| 2233169| 32.2| 14.2| 28.1| 17.0| 8.5| 27.1| 100.4| 97.9|flag_utah.gif|http://www.utah.gov/
48
+ Vermont| 608827| 24.2| 9.3| 29.0| 24.8| 12.7| 37.7| 96.1| 93.3|flag_vermont.gif|http://www.vermont.gov/
49
+ Virginia| 7078515| 24.6| 9.6| 31.6| 23.0| 11.2| 35.7| 96.3| 93.7|flag_virginia.gif|http://www.virginia.gov/
50
+ Washington| 5894121| 25.7| 9.5| 30.8| 22.8| 11.2| 35.3| 99.1| 97.0|flag_washington.gif|http://www.washington.gov/
51
+ West Virginia| 1808344| 22.3| 9.5| 27.7| 25.2| 15.3| 38.9| 94.6| 91.7|flag_westvirginia.gif|http://www.west virginia.gov/
52
+ Wisconsin| 5363675| 25.5| 9.7| 29.5| 22.2| 13.1| 36.0| 97.6| 95.1|flag_wisconsin.gif|http://www.wisconsin.gov/
53
+ Wyoming| 493782| 26.1| 10.1| 28.1| 24.0| 11.7| 36.2| 101.2| 99.7|flag_wyoming.gif|http://www.wyoming.gov/
54
+ Puerto Rico| 3808610| 28.7| 11.3| 27.6| 21.3| 11.2| 32.1| 92.8| 88.4|flag_puertorico.gif|http://www.gobierno.pr/
@@ -0,0 +1,54 @@
1
+ Geographic area;Total population;Under 18 years;18 to 24 years;25 to 44 years;45 to 64 years;65 years and over;Median age (years);All ages;18 years and over;Flag;Website
2
+ United States; 281421906; 25.7; 9.6; 30.2; 22.0; 12.4; 35.3; 96.3; 93.4;flag_unitedstates.gif; http://www.usa.gov/
3
+ Alabama; 4447100; 25.3; 9.9; 29.0; 22.8; 13.0; 35.8; 93.3; 89.6;flag_alabama.gif; http://www.alabama.gov/
4
+ Alaska; 626932; 30.4; 9.1; 32.5; 22.3; 5.7; 32.4; 107.0; 107.6;flag_alaska.gif;http://www.alaska.gov/
5
+ Arizona; 5130632; 26.6; 10.0; 29.5; 20.9; 13.0; 34.2; 99.7; 97.7;flag_arizona.gif;http://www.arizona.gov/
6
+ Arkansas; 2673400; 25.4; 9.8; 28.1; 22.7; 14.0; 36.0; 95.3; 92.1;flag_arkansas.gif;http://www.arkansas.gov/
7
+ California; 33871648; 27.3; 9.9; 31.6; 20.5; 10.6; 33.3; 99.3; 97.1;flag_california.gif;http://www.california.gov/
8
+ Colorado; 4301261; 25.6; 10.0; 32.6; 22.2; 9.7; 34.3; 101.4; 100.0;flag_colorado.gif;http://www.colorado.gov/
9
+ Connecticut; 3405565; 24.7; 8.0; 30.3; 23.2; 13.8; 37.4; 93.9; 90.5;flag_connecticut.gif;http://www.connecticut.gov/
10
+ Delaware; 783600; 24.8; 9.6; 30.2; 22.4; 13.0; 36.0; 94.4; 91.0;flag_delaware.gif;http://www.delaware.gov/
11
+ District of Columbia; 572059; 20.1; 12.7; 33.1; 21.9; 12.2; 34.6; 89.0; 86.1;;http://www.districtofcolumbia.gov/
12
+ Florida; 15982378; 22.8; 8.3; 28.6; 22.7; 17.6; 38.7; 95.3; 92.5;flag_florida.gif;http://www.florida.gov/
13
+ Georgia; 8186453; 26.5; 10.2; 32.4; 21.3; 9.6; 33.4; 96.8; 94.0;flag_georgia.gif;http://www.georgia.gov/
14
+ Hawaii; 1211537; 24.4; 9.5; 29.9; 22.9; 13.3; 36.2; 101.0; 99.4;flag_hawaii.gif;http://www.hawaii.gov/
15
+ Idaho; 1293953; 28.5; 10.7; 28.0; 21.5; 11.3; 33.2; 100.5; 98.5;flag_idaho.gif;http://www.idaho.gov/
16
+ Illinois; 12419293; 26.1; 9.8; 30.6; 21.5; 12.1; 34.7; 95.9; 92.9;flag_illinois.gif;http://www.illinois.gov/
17
+ Indiana; 6080485; 25.9; 10.1; 29.5; 22.1; 12.4; 35.2; 96.3; 93.3;flag_indiana.gif;http://www.indiana.gov/
18
+ Iowa; 2926324; 25.1; 10.2; 27.6; 22.2; 14.9; 36.6; 96.3; 93.4;flag_iowa.gif;http://www.iowa.gov/
19
+ Kansas; 2688418; 26.5; 10.3; 28.6; 21.4; 13.3; 35.2; 97.7; 95.0;flag_kansas.gif;http://www.kansas.gov/
20
+ Kentucky; 4041769; 24.6; 9.9; 30.0; 23.0; 12.5; 35.9; 95.6; 92.5;flag_kentucky.gif;http://www.kentucky.gov/
21
+ Louisiana; 4468976; 27.3; 10.6; 28.9; 21.6; 11.6; 34.0; 93.8; 90.1;flag_louisiana.gif;http://www.louisiana.gov/
22
+ Maine; 1274923; 23.6; 8.1; 29.1; 24.8; 14.4; 38.6; 94.8; 91.7;flag_maine.gif;http://www.maine.gov/
23
+ Maryland; 5296486; 25.6; 8.5; 31.4; 23.1; 11.3; 36.0; 93.4; 89.8;flag_maryland.gif;http://www.maryland.gov/
24
+ Massachusetts; 6349097; 23.6; 9.1; 31.3; 22.4; 13.5; 36.5; 93.0; 89.5;flag_massachusetts.gif;http://www.massachusetts.gov/
25
+ Michigan; 9938444; 26.1; 9.4; 29.8; 22.4; 12.3; 35.5; 96.2; 93.2;flag_michigan.gif;http://www.michigan.gov/
26
+ Minnesota; 4919479; 26.2; 9.6; 30.4; 21.8; 12.1; 35.4; 98.1; 95.6;flag_minnesota.gif;http://www.minnesota.gov/
27
+ Mississippi; 2844658; 27.3; 10.9; 28.4; 21.4; 12.1; 33.8; 93.4; 89.6;flag_mississippi.gif;http://www.mississippi.gov/
28
+ Missouri; 5595211; 25.5; 9.6; 29.1; 22.3; 13.5; 36.1; 94.6; 91.3;flag_missouri.gif;http://www.missouri.gov/
29
+ Montana; 902195; 25.5; 9.5; 27.2; 24.4; 13.4; 37.5; 99.3; 97.2;flag_montana.gif;http://www.montana.gov/
30
+ Nebraska; 1711263; 26.3; 10.2; 28.5; 21.5; 13.6; 35.3; 97.2; 94.6;flag_nebraska.gif;http://www.nebraska.gov/
31
+ Nevada; 1998257; 25.6; 9.0; 31.5; 23.0; 11.0; 35.0; 103.9; 103.2;flag_nevada.gif;http://www.nevada.gov/
32
+ New Hampshire; 1235786; 25.0; 8.4; 30.9; 23.8; 12.0; 37.1; 96.8; 94.1;flag_newhampshire.gif;http://www.newhampshire.gov/
33
+ New Jersey; 8414350; 24.8; 8.0; 31.2; 22.7; 13.2; 36.7; 94.3; 90.9;flag_newjersey.gif;http://www.newjersey.gov/
34
+ New Mexico; 1819046; 28.0; 9.8; 28.4; 22.2; 11.7; 34.6; 96.7; 94.0;flag_newmexico.gif;http://www.newmexico.gov/
35
+ New York; 18976457; 24.7; 9.3; 30.7; 22.3; 12.9; 35.9; 93.1; 89.4;flag_newyork.gif;http://www.newyork.gov/
36
+ North Carolina; 8049313; 24.4; 10.0; 31.1; 22.5; 12.0; 35.3; 96.0; 93.3;flag_northcarolina.gif;http://www.northcarolina.gov/
37
+ North Dakota; 642200; 25.0; 11.4; 27.2; 21.6; 14.7; 36.2; 99.6; 97.8;flag_northdakota.gif;http://www.northdakota.gov/
38
+ Ohio; 11353140; 25.4; 9.3; 29.3; 22.7; 13.3; 36.2; 94.4; 91.1;flag_ohio.gif;http://www.ohio.gov/
39
+ Oklahoma; 3450654; 25.9; 10.3; 28.3; 22.3; 13.2; 35.5; 96.6; 93.8;flag_oklahoma.gif;http://www.oklahoma.gov/
40
+ Oregon; 3421399; 24.7; 9.6; 29.1; 23.7; 12.8; 36.3; 98.4; 96.2;flag_oregon.gif;http://www.oregon.gov/
41
+ Pennsylvania; 12281054; 23.8; 8.9; 28.6; 23.1; 15.6; 38.0; 93.4; 89.9;flag_pennsylvania.gif;http://www.pennsylvania.gov/
42
+ Rhode Island; 1048319; 23.6; 10.2; 29.6; 22.0; 14.5; 36.7; 92.5; 88.8;flag_rhodeisland.gif;http://www.rhodeisland.gov/
43
+ South Carolina; 4012012; 25.2; 10.2; 29.6; 23.0; 12.1; 35.4; 94.5; 91.2;flag_southcarolina.gif;http://www.southcarolina.gov/
44
+ South Dakota; 754844; 26.8; 10.3; 27.3; 21.2; 14.3; 35.6; 98.5; 96.1;flag_southdakota.gif;http://www.southdakota.gov/
45
+ Tennessee; 5689283; 24.6; 9.6; 30.2; 23.2; 12.4; 35.9; 94.9; 91.6;flag_tennessee.gif;http://www.tennessee.gov/
46
+ Texas; 20851820; 28.2; 10.5; 31.1; 20.2; 9.9; 32.3; 98.6; 96.2;flag_texas.gif;http://www.texas.gov/
47
+ Utah; 2233169; 32.2; 14.2; 28.1; 17.0; 8.5; 27.1; 100.4; 97.9;flag_utah.gif;http://www.utah.gov/
48
+ Vermont; 608827; 24.2; 9.3; 29.0; 24.8; 12.7; 37.7; 96.1; 93.3;flag_vermont.gif;http://www.vermont.gov/
49
+ Virginia; 7078515; 24.6; 9.6; 31.6; 23.0; 11.2; 35.7; 96.3; 93.7;flag_virginia.gif;http://www.virginia.gov/
50
+ Washington; 5894121; 25.7; 9.5; 30.8; 22.8; 11.2; 35.3; 99.1; 97.0;flag_washington.gif;http://www.washington.gov/
51
+ West Virginia; 1808344; 22.3; 9.5; 27.7; 25.2; 15.3; 38.9; 94.6; 91.7;flag_westvirginia.gif;http://www.west virginia.gov/
52
+ Wisconsin; 5363675; 25.5; 9.7; 29.5; 22.2; 13.1; 36.0; 97.6; 95.1;flag_wisconsin.gif;http://www.wisconsin.gov/
53
+ Wyoming; 493782; 26.1; 10.1; 28.1; 24.0; 11.7; 36.2; 101.2; 99.7;flag_wyoming.gif;http://www.wyoming.gov/
54
+ Puerto Rico; 3808610; 28.7; 11.3; 27.6; 21.3; 11.2; 32.1; 92.8; 88.4;flag_puertorico.gif;http://www.gobierno.pr/
@@ -2,14 +2,16 @@ require 'helper'
2
2
  require File.join(File.expand_path(File.dirname(__FILE__)), '..', 'lib', 'csv2json.rb') # this form is important for local development
3
3
 
4
4
  class TestCsv2json < Test::Unit::TestCase
5
+ SEPS = {:comma => ',', :pipe => '|', :semicolon => ';'}
5
6
  should "parse some test files" do
6
7
  fixtures_dir = File.expand_path(File.join(File.dirname(__FILE__), 'fixtures'))
7
8
  Dir.chdir(fixtures_dir) do
8
9
  Dir.glob('*.csv') do |filename|
9
- json_template = File.basename(filename, ".csv")+'.json'
10
+ filename_parts = File.basename(filename, ".csv").split('_')
11
+ json_template = filename_parts[0] + '.json'
10
12
  File.open(filename, "r") do |input|
11
13
  output = StringIO.new()
12
- CSV2JSON.parse(input, output)
14
+ CSV2JSON.parse(input, output, nil, :col_sep => SEPS[filename_parts[1].to_sym] )
13
15
  template = File.read(json_template)
14
16
  output.pos = 0
15
17
  assert template == output.read
metadata CHANGED
@@ -1,47 +1,59 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csv2json
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 0
9
+ version: 0.2.0
5
10
  platform: ruby
6
11
  authors:
7
12
  - Antonin Hildebrand
13
+ - Rafael Souza
8
14
  autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2009-12-05 00:00:00 +01:00
18
+ date: 2010-03-14 00:00:00 +01:00
13
19
  default_executable: csv2json
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
22
  name: json
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
20
25
  requirements:
21
26
  - - ">="
22
27
  - !ruby/object:Gem::Version
28
+ segments:
29
+ - 0
23
30
  version: "0"
24
- version:
31
+ type: :runtime
32
+ version_requirements: *id001
25
33
  - !ruby/object:Gem::Dependency
26
34
  name: fastercsv
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
35
+ prerelease: false
36
+ requirement: &id002 !ruby/object:Gem::Requirement
30
37
  requirements:
31
38
  - - ">="
32
39
  - !ruby/object:Gem::Version
40
+ segments:
41
+ - 0
33
42
  version: "0"
34
- version:
43
+ type: :runtime
44
+ version_requirements: *id002
35
45
  - !ruby/object:Gem::Dependency
36
46
  name: shoulda
37
- type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
47
+ prerelease: false
48
+ requirement: &id003 !ruby/object:Gem::Requirement
40
49
  requirements:
41
50
  - - ">="
42
51
  - !ruby/object:Gem::Version
52
+ segments:
53
+ - 0
43
54
  version: "0"
44
- version:
55
+ type: :development
56
+ version_requirements: *id003
45
57
  description: handy for converting xls files to json
46
58
  email: antonin@hildebrand.cz
47
59
  executables:
@@ -61,12 +73,18 @@ files:
61
73
  - csv2json.gemspec
62
74
  - lib/csv2json-version.rb
63
75
  - lib/csv2json.rb
64
- - test/fixtures/addresses.csv
65
76
  - test/fixtures/addresses.json
66
- - test/fixtures/photos.csv
77
+ - test/fixtures/addresses_comma.csv
78
+ - test/fixtures/addresses_pipe.csv
79
+ - test/fixtures/addresses_semicolon.csv
67
80
  - test/fixtures/photos.json
68
- - test/fixtures/population.csv
81
+ - test/fixtures/photos_comma.csv
82
+ - test/fixtures/photos_pipe.csv
83
+ - test/fixtures/photos_semicolon.csv
69
84
  - test/fixtures/population.json
85
+ - test/fixtures/population_comma.csv
86
+ - test/fixtures/population_pipe.csv
87
+ - test/fixtures/population_semicolon.csv
70
88
  - test/helper.rb
71
89
  - test/test_csv2json.rb
72
90
  has_rdoc: true
@@ -82,18 +100,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
82
100
  requirements:
83
101
  - - ">="
84
102
  - !ruby/object:Gem::Version
103
+ segments:
104
+ - 0
85
105
  version: "0"
86
- version:
87
106
  required_rubygems_version: !ruby/object:Gem::Requirement
88
107
  requirements:
89
108
  - - ">="
90
109
  - !ruby/object:Gem::Version
110
+ segments:
111
+ - 0
91
112
  version: "0"
92
- version:
93
113
  requirements: []
94
114
 
95
115
  rubyforge_project:
96
- rubygems_version: 1.3.5
116
+ rubygems_version: 1.3.6
97
117
  signing_key:
98
118
  specification_version: 3
99
119
  summary: .csv to .json converter