extcsv 0.11.0 → 0.11.2

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.
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