extcsv 0.11.0 → 0.11.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/gemspec +1 -1
  2. data/lib/extcsv.rb +9 -3
  3. data/test/test_extcsv.rb +7 -0
  4. metadata +3 -3
data/gemspec CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
 
3
3
  spec = Gem::Specification.new do |s|
4
4
  s.name = "extcsv"
5
- s.version = "0.11.0"
5
+ s.version = "0.11.2"
6
6
  s.date = Time.new.to_s
7
7
  s.author = "Ralf Mueller"
8
8
  s.email = "stark.dreamdetective@gmail.com"
data/lib/extcsv.rb CHANGED
@@ -373,6 +373,11 @@ class ExtCsv < OpenStruct
373
373
  columns.each {|col| retval << @table[col.to_sym]}
374
374
  retval.transpose
375
375
  end
376
+ def columns(*columns)
377
+ h = {}
378
+ columns.each{|col| h[col] = self.send(col)}
379
+ return self.class.new("hash","plain",h)
380
+ end
376
381
  def clear
377
382
  @table.each {|k,v| @table[k] = [] if v.kind_of?(Array)}
378
383
  end
@@ -551,10 +556,11 @@ class ExtCsv < OpenStruct
551
556
  end
552
557
 
553
558
  # String output. See ExtCsvExporter.to_string
554
- def to_string(stype)
559
+ def to_string(stype,sort=true)
560
+ header = sort ? datacolumns.sort : datacolumns
555
561
  ExtCsvExporter.new("extcsv",
556
- ([datacolumns.sort] +
557
- datasets(*datacolumns.sort)).transpose
562
+ ([header] +
563
+ datasets(*header)).transpose
558
564
  ).to_string(stype)
559
565
  end
560
566
  def to_file(filename, filetype="txt")
data/test/test_extcsv.rb CHANGED
@@ -512,4 +512,11 @@ class TestExtCsv < Test::Unit::TestCase
512
512
  simple = ExtCsv.new(IMPORT_TYPE, "txt", "./data/german.txt")
513
513
  #pp simple
514
514
  end
515
+ def test_columns
516
+ c = ExtCsv.new(IMPORT_TYPE, "txt", TEST_FD_DATA )
517
+ d = c.columns(*c.datacolumns[0,2])
518
+ assert_equal(c.datasets(*d.datacolumns),d.datasets)
519
+ d = c.columns(*c.datacolumns[-3..-1])
520
+ assert_equal(c.datasets(*d.datacolumns),d.datasets)
521
+ end
515
522
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 11
8
- - 0
9
- version: 0.11.0
8
+ - 2
9
+ version: 0.11.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Ralf Mueller
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-03-21 14:24:37 +01:00
17
+ date: 2011-04-14 13:07:04 +02:00
18
18
  default_executable:
19
19
  dependencies: []
20
20