rbbt-util 3.1.0 → 3.2.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/bin/rbbt_query.rb +1 -1
- data/lib/rbbt/util/cmd.rb +115 -67
- data/lib/rbbt/util/fix_width_table.rb +18 -3
- data/lib/rbbt/util/misc.rb +106 -6
- data/lib/rbbt/util/open.rb +9 -7
- data/lib/rbbt/util/persistence.rb +17 -14
- data/lib/rbbt/util/resource.rb +10 -3
- data/lib/rbbt/util/task.rb +2 -2
- data/lib/rbbt/util/task/job.rb +16 -3
- data/lib/rbbt/util/tc_hash.rb +64 -27
- data/lib/rbbt/util/tsv.rb +44 -21
- data/lib/rbbt/util/tsv/accessor.rb +8 -6
- data/lib/rbbt/util/tsv/attach.rb +19 -28
- data/lib/rbbt/util/tsv/filters.rb +193 -0
- data/lib/rbbt/util/tsv/index.rb +80 -8
- data/lib/rbbt/util/tsv/manipulate.rb +17 -6
- data/lib/rbbt/util/tsv/misc.rb +10 -0
- data/lib/rbbt/util/tsv/parse.rb +18 -1
- data/lib/rbbt/util/workflow.rb +12 -3
- data/lib/rbbt/util/workflow/soap.rb +0 -1
- data/share/install/software/lib/install_helpers +0 -2
- data/share/lib/R/util.R +3 -3
- data/test/rbbt/util/test_cmd.rb +23 -0
- data/test/rbbt/util/test_excel2tsv.rb +1 -1
- data/test/rbbt/util/test_misc.rb +41 -11
- data/test/rbbt/util/test_open.rb +2 -2
- data/test/rbbt/util/test_persistence.rb +2 -2
- data/test/rbbt/util/test_resource.rb +4 -20
- data/test/rbbt/util/test_tc_hash.rb +38 -0
- data/test/rbbt/util/test_tmpfile.rb +1 -1
- data/test/rbbt/util/test_tsv.rb +6 -0
- data/test/rbbt/util/test_workflow.rb +14 -10
- data/test/rbbt/util/tsv/test_accessor.rb +42 -0
- data/test/rbbt/util/tsv/test_filters.rb +141 -0
- data/test/rbbt/util/tsv/test_index.rb +32 -0
- data/test/rbbt/util/tsv/test_manipulate.rb +18 -0
- data/test/test_helper.rb +3 -1
- metadata +41 -38
| @@ -8,7 +8,7 @@ class TestTmpFile < Test::Unit::TestCase | |
| 8 8 | 
             
                assert(TmpFile.tmp_file("test") =~ /tmp\/test\d+$/)
         | 
| 9 9 | 
             
              end
         | 
| 10 10 |  | 
| 11 | 
            -
              def  | 
| 11 | 
            +
              def _test_do_tmp_file
         | 
| 12 12 | 
             
                content = "Hello World!"
         | 
| 13 13 | 
             
                TmpFile.with_file(content) do |file|
         | 
| 14 14 | 
             
                  assert_equal content, File.open(file).read
         | 
    
        data/test/rbbt/util/test_tsv.rb
    CHANGED
    
    | @@ -202,14 +202,20 @@ row2    A    B | |
| 202 202 | 
             
                    assert TCHash === tsv1.data
         | 
| 203 203 | 
             
                    assert !tsv1.case_insensitive
         | 
| 204 204 | 
             
                    assert tsv1.include? "A"
         | 
| 205 | 
            +
                    ddd tsv1.filename
         | 
| 205 206 |  | 
| 206 207 | 
             
                    tsv1 = TSV.new(tchash, :key => "ValueA")
         | 
| 207 208 | 
             
                    assert TCHash === tsv1.data
         | 
| 208 209 | 
             
                    assert !tsv1.case_insensitive
         | 
| 209 210 | 
             
                    assert tsv1.include? "A"
         | 
| 211 | 
            +
                    ddd tsv1.filename
         | 
| 210 212 | 
             
                  end
         | 
| 211 213 | 
             
                end
         | 
| 212 214 |  | 
| 213 215 | 
             
              end
         | 
| 216 | 
            +
             | 
| 217 | 
            +
              def test_with_hash
         | 
| 218 | 
            +
                assert TSV === TSV.new {}, :list
         | 
| 219 | 
            +
              end
         | 
| 214 220 | 
             
            end
         | 
| 215 221 |  | 
| @@ -37,7 +37,10 @@ module MathWF2 | |
| 37 37 | 
             
              task :times => :integer do |times| mult(input, times) end
         | 
| 38 38 |  | 
| 39 39 | 
             
              task_dependencies []
         | 
| 40 | 
            -
              task :persist do   | 
| 40 | 
            +
              task :persist do  
         | 
| 41 | 
            +
                task.workflow.methods.include?(:local_persist) or
         | 
| 42 | 
            +
                task.workflow.methods.include?("local_persist") 
         | 
| 43 | 
            +
              end
         | 
| 41 44 | 
             
            end
         | 
| 42 45 |  | 
| 43 46 |  | 
| @@ -65,22 +68,22 @@ class TestWorkFlow < Test::Unit::TestCase | |
| 65 68 |  | 
| 66 69 | 
             
              def test_math_wf
         | 
| 67 70 | 
             
                job = MathWF.tasks[:times_2].job(:job1, 1)
         | 
| 68 | 
            -
                assert_equal 4, job.fork.join.load
         | 
| 71 | 
            +
                assert_equal 4, job.recursive_clean.fork.join.load
         | 
| 69 72 | 
             
                job = MathWF.tasks[:times_4].job(:job1, 1)
         | 
| 70 | 
            -
                assert_equal 8, job.fork.join.load
         | 
| 73 | 
            +
                assert_equal 8, job.recursive_clean.fork.join.load
         | 
| 71 74 | 
             
              end
         | 
| 72 75 |  | 
| 73 76 | 
             
              def test_math_wf2
         | 
| 74 77 | 
             
                job = MathWF2.tasks[:times_2].job(:job1, 1)
         | 
| 75 | 
            -
                job.fork.join
         | 
| 78 | 
            +
                job.recursive_clean.fork.join
         | 
| 76 79 | 
             
                assert_equal 4, job.load
         | 
| 77 80 | 
             
                job = MathWF2.tasks[:times_4].job(:job1, 1)
         | 
| 78 | 
            -
                assert_equal 8, job.fork.join.load
         | 
| 81 | 
            +
                assert_equal 8, job.recursive_clean.fork.join.load
         | 
| 79 82 | 
             
              end
         | 
| 80 83 |  | 
| 81 84 | 
             
              def test_math_run
         | 
| 82 85 | 
             
                job = MathWF2.job(:times_2, :job1, 1)
         | 
| 83 | 
            -
                job.fork.join
         | 
| 86 | 
            +
                job.recursive_clean.fork.join
         | 
| 84 87 | 
             
                assert_equal 4, job.load
         | 
| 85 88 | 
             
              end
         | 
| 86 89 |  | 
| @@ -88,7 +91,7 @@ class TestWorkFlow < Test::Unit::TestCase | |
| 88 91 | 
             
                assert MathWF2.tasks[:times].option_defaults.include? :times
         | 
| 89 92 |  | 
| 90 93 | 
             
                job = MathWF2.job(:times, :job1, 1)
         | 
| 91 | 
            -
                job.fork.join
         | 
| 94 | 
            +
                job.recursive_clean.fork.join
         | 
| 92 95 | 
             
                assert job.done?
         | 
| 93 96 | 
             
                puts job.messages
         | 
| 94 97 | 
             
                assert File.exists? job.path
         | 
| @@ -96,7 +99,7 @@ class TestWorkFlow < Test::Unit::TestCase | |
| 96 99 |  | 
| 97 100 |  | 
| 98 101 | 
             
                job = MathWF2.job(:times, :job1, 1, :times => 20)
         | 
| 99 | 
            -
                job.fork.join
         | 
| 102 | 
            +
                job.recursive_clean.fork.join
         | 
| 100 103 | 
             
                assert_equal 40, job.load
         | 
| 101 104 | 
             
              end
         | 
| 102 105 |  | 
| @@ -112,12 +115,13 @@ class TestWorkFlow < Test::Unit::TestCase | |
| 112 115 | 
             
              end
         | 
| 113 116 |  | 
| 114 117 | 
             
              def test_local_persist
         | 
| 118 | 
            +
                MathWF2.job(:persist, :persist).clean
         | 
| 115 119 | 
             
                assert MathWF2.run(:persist, :persist).load
         | 
| 116 120 | 
             
              end
         | 
| 117 121 |  | 
| 118 122 | 
             
              def test_conditional
         | 
| 119 | 
            -
                 | 
| 120 | 
            -
                 | 
| 123 | 
            +
                assert_equal 2, ConWF.run(:times_2, "Test", "one").load
         | 
| 124 | 
            +
                assert_equal 4, ConWF.run(:times_2, "Test", "two").load
         | 
| 121 125 | 
             
              end
         | 
| 122 126 |  | 
| 123 127 | 
             
              def test_option_summary
         | 
| @@ -105,5 +105,47 @@ row2 A B C | |
| 105 105 | 
             
                end
         | 
| 106 106 | 
             
              end
         | 
| 107 107 |  | 
| 108 | 
            +
              def test_namespace
         | 
| 109 | 
            +
                content =<<-EOF
         | 
| 110 | 
            +
            #ID ValueA ValueB Comment
         | 
| 111 | 
            +
            row1 a b c
         | 
| 112 | 
            +
            row2 A B C
         | 
| 113 | 
            +
                EOF
         | 
| 114 | 
            +
             | 
| 115 | 
            +
                TmpFile.with_file(content) do |filename|
         | 
| 116 | 
            +
                  tsv = TSV.new(File.open(filename), :double, :sep => /\s/, :namespace => "TEST")
         | 
| 117 | 
            +
             | 
| 118 | 
            +
                  assert_equal "TEST", tsv.fields.first.namespace
         | 
| 119 | 
            +
                  assert_equal "TEST", tsv.key_field.namespace
         | 
| 120 | 
            +
                end
         | 
| 121 | 
            +
              end
         | 
| 122 | 
            +
             | 
| 123 | 
            +
              def test_delete
         | 
| 124 | 
            +
                content =<<-EOF
         | 
| 125 | 
            +
            #ID ValueA ValueB Comment
         | 
| 126 | 
            +
            row1 a b c
         | 
| 127 | 
            +
            row2 A B C
         | 
| 128 | 
            +
                EOF
         | 
| 129 | 
            +
             | 
| 130 | 
            +
                TmpFile.with_file(content) do |filename|
         | 
| 131 | 
            +
                  tsv = TSV.new(File.open(filename), :double, :sep => /\s/)
         | 
| 132 | 
            +
                  tsv.delete "row1"
         | 
| 133 | 
            +
                  
         | 
| 134 | 
            +
                  assert_equal 1, tsv.size
         | 
| 135 | 
            +
                  assert_equal ["row2"], tsv.keys
         | 
| 136 | 
            +
             | 
| 137 | 
            +
                  tsv = TSV.new(File.open(filename), :double, :sep => /\s/, :persistence => true)
         | 
| 138 | 
            +
                  assert_equal 2, tsv.size
         | 
| 139 | 
            +
                  assert_equal ["row1", "row2"], tsv.keys
         | 
| 140 | 
            +
                  tsv.write
         | 
| 141 | 
            +
                  tsv.delete "row1"
         | 
| 142 | 
            +
                  tsv.read
         | 
| 143 | 
            +
             | 
| 144 | 
            +
                  assert_equal 1, tsv.size
         | 
| 145 | 
            +
                  assert_equal ["row2"], tsv.keys
         | 
| 146 | 
            +
                end
         | 
| 147 | 
            +
              end
         | 
| 148 | 
            +
             | 
| 149 | 
            +
             | 
| 108 150 | 
             
            end
         | 
| 109 151 |  | 
| @@ -0,0 +1,141 @@ | |
| 1 | 
            +
            require File.join(File.expand_path(File.dirname(__FILE__)), '../../..', 'test_helper.rb')
         | 
| 2 | 
            +
            require 'rbbt/util/tsv/filters'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            class TestTSVFilters < Test::Unit::TestCase
         | 
| 5 | 
            +
              def test_collect
         | 
| 6 | 
            +
                content1 =<<-EOF
         | 
| 7 | 
            +
            #: :sep=/\\s+/#:case_insensitive=false
         | 
| 8 | 
            +
            #Id    ValueA    ValueB
         | 
| 9 | 
            +
            row1    a|aa|aaa    b
         | 
| 10 | 
            +
            row2    A    B
         | 
| 11 | 
            +
                EOF
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                TmpFile.with_file(content1) do |filename|
         | 
| 14 | 
            +
                  tsv = TSV.new filename
         | 
| 15 | 
            +
                  tsv.filter
         | 
| 16 | 
            +
                  tsv.add_filter "field:ValueA", ["A"]
         | 
| 17 | 
            +
                  assert_equal 1, tsv.collect.size
         | 
| 18 | 
            +
                end
         | 
| 19 | 
            +
              end
         | 
| 20 | 
            +
             | 
| 21 | 
            +
              def test_through
         | 
| 22 | 
            +
                content1 =<<-EOF
         | 
| 23 | 
            +
            #: :sep=/\\s+/#:case_insensitive=false
         | 
| 24 | 
            +
            #Id    ValueA    ValueB
         | 
| 25 | 
            +
            row1    a|aa|aaa    b
         | 
| 26 | 
            +
            row2    A    B
         | 
| 27 | 
            +
                EOF
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                TmpFile.with_file(content1) do |filename|
         | 
| 30 | 
            +
                  tsv = TSV.new filename
         | 
| 31 | 
            +
                  tsv.filter
         | 
| 32 | 
            +
                  tsv.add_filter "field:ValueA", ["A"]
         | 
| 33 | 
            +
                  elem = []
         | 
| 34 | 
            +
                  tsv.through do |k,v| elem << k end
         | 
| 35 | 
            +
                  assert_equal 1, elem.size
         | 
| 36 | 
            +
                end
         | 
| 37 | 
            +
              end
         | 
| 38 | 
            +
             | 
| 39 | 
            +
              def test_2_filters
         | 
| 40 | 
            +
                content1 =<<-EOF
         | 
| 41 | 
            +
            #: :sep=/\\s+/#:case_insensitive=false
         | 
| 42 | 
            +
            #Id    ValueA    ValueB
         | 
| 43 | 
            +
            row1    a|aa|aaa    b
         | 
| 44 | 
            +
            row2    A    B
         | 
| 45 | 
            +
            row3    A    C
         | 
| 46 | 
            +
                EOF
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                TmpFile.with_file(content1) do |filename|
         | 
| 49 | 
            +
                  tsv = TSV.new filename
         | 
| 50 | 
            +
                  tsv.filter
         | 
| 51 | 
            +
                  tsv.add_filter "field:ValueA", ["A"]
         | 
| 52 | 
            +
             | 
| 53 | 
            +
                  elem = []
         | 
| 54 | 
            +
                  tsv.through do |k,v| elem << k end
         | 
| 55 | 
            +
                  assert_equal 2, elem.size
         | 
| 56 | 
            +
             | 
| 57 | 
            +
                  tsv.add_filter "field:ValueB", ["C"]
         | 
| 58 | 
            +
             | 
| 59 | 
            +
                  elem = []
         | 
| 60 | 
            +
                  tsv.through do |k,v| elem << k end
         | 
| 61 | 
            +
                  assert_equal 1, elem.size
         | 
| 62 | 
            +
                end
         | 
| 63 | 
            +
              end
         | 
| 64 | 
            +
             | 
| 65 | 
            +
              def test_filter_persistence
         | 
| 66 | 
            +
                content1 =<<-EOF
         | 
| 67 | 
            +
            #: :sep=/\\s+/#:case_insensitive=false
         | 
| 68 | 
            +
            #Id    ValueA    ValueB
         | 
| 69 | 
            +
            row1    a|aa|aaa    b
         | 
| 70 | 
            +
            row2    A    B
         | 
| 71 | 
            +
            row3    A    C
         | 
| 72 | 
            +
                EOF
         | 
| 73 | 
            +
             | 
| 74 | 
            +
                TmpFile.with_file(content1) do |filename|
         | 
| 75 | 
            +
                  tsv = TSV.new filename
         | 
| 76 | 
            +
                  tsv.filter
         | 
| 77 | 
            +
                  tsv.add_filter "field:ValueA", ["A"], Rbbt.tmp.test.Filter.fieldValueA
         | 
| 78 | 
            +
             | 
| 79 | 
            +
                  elem = []
         | 
| 80 | 
            +
                  tsv.through do |k,v| elem << k end
         | 
| 81 | 
            +
                  assert_equal 2, elem.size
         | 
| 82 | 
            +
             | 
| 83 | 
            +
                  tsv.add_filter "field:ValueB", ["C"]
         | 
| 84 | 
            +
             | 
| 85 | 
            +
                  elem = []
         | 
| 86 | 
            +
                  tsv.through do |k,v| elem << k end
         | 
| 87 | 
            +
                  assert_equal 1, elem.size
         | 
| 88 | 
            +
             | 
| 89 | 
            +
                  tsv = TSV.new filename
         | 
| 90 | 
            +
                  tsv.filter
         | 
| 91 | 
            +
                  tsv.add_filter "field:ValueA", ["A"], Rbbt.tmp.test.Filter.fieldValueA
         | 
| 92 | 
            +
             | 
| 93 | 
            +
                  elem = []
         | 
| 94 | 
            +
                  tsv.through do |k,v| elem << k end
         | 
| 95 | 
            +
                  assert_equal 2, elem.size
         | 
| 96 | 
            +
                end
         | 
| 97 | 
            +
              end
         | 
| 98 | 
            +
             | 
| 99 | 
            +
              def test_filter_persistence_update
         | 
| 100 | 
            +
                content1 =<<-EOF
         | 
| 101 | 
            +
            #: :sep=/\\s+/#:case_insensitive=false
         | 
| 102 | 
            +
            #Id    ValueA    ValueB
         | 
| 103 | 
            +
            row1    a|aa|aaa    b
         | 
| 104 | 
            +
            row2    A    B
         | 
| 105 | 
            +
                EOF
         | 
| 106 | 
            +
             | 
| 107 | 
            +
                TmpFile.with_file(content1) do |filename|
         | 
| 108 | 
            +
                  tsv = TSV.new filename
         | 
| 109 | 
            +
                  tsv.filter
         | 
| 110 | 
            +
                  tsv.add_filter "field:ValueA", ["A"], Rbbt.tmp.test.Filter.fieldValueA.find(:user)
         | 
| 111 | 
            +
             | 
| 112 | 
            +
                  elem = []
         | 
| 113 | 
            +
                  tsv.through do |k,v| elem << k end
         | 
| 114 | 
            +
                  assert_equal 1, elem.size
         | 
| 115 | 
            +
             | 
| 116 | 
            +
                  tsv["row3"] = [["A"], ["C"]]
         | 
| 117 | 
            +
             | 
| 118 | 
            +
                  elem = []
         | 
| 119 | 
            +
                  tsv.through do |k,v| elem << k end
         | 
| 120 | 
            +
                  assert_equal 2, elem.size
         | 
| 121 | 
            +
             | 
| 122 | 
            +
                  tsv.add_filter "field:ValueB", ["C"]
         | 
| 123 | 
            +
             | 
| 124 | 
            +
                  elem = []
         | 
| 125 | 
            +
                  tsv.through do |k,v| elem << k end
         | 
| 126 | 
            +
                  assert_equal 1, elem.size
         | 
| 127 | 
            +
             | 
| 128 | 
            +
                  tsv = TSV.new filename
         | 
| 129 | 
            +
                  tsv.filter
         | 
| 130 | 
            +
                  tsv.add_filter "field:ValueA", ["A"], Rbbt.tmp.test.Filter.fieldValueA.find(:user)
         | 
| 131 | 
            +
             | 
| 132 | 
            +
                  elem = []
         | 
| 133 | 
            +
                  tsv.through do |k,v| elem << k end
         | 
| 134 | 
            +
                  assert_equal 2, elem.size
         | 
| 135 | 
            +
                end
         | 
| 136 | 
            +
              end
         | 
| 137 | 
            +
             | 
| 138 | 
            +
             | 
| 139 | 
            +
             | 
| 140 | 
            +
            end
         | 
| 141 | 
            +
             | 
| @@ -153,5 +153,37 @@ g:         ____ | |
| 153 153 | 
             
                end
         | 
| 154 154 | 
             
              end
         | 
| 155 155 |  | 
| 156 | 
            +
              def test_pos_index
         | 
| 157 | 
            +
                content =<<-EOF
         | 
| 158 | 
            +
            #Id	ValueA    ValueB    Pos
         | 
| 159 | 
            +
            row1    a|aa|aaa    b    0|10
         | 
| 160 | 
            +
            row2    A    B    30
         | 
| 161 | 
            +
                EOF
         | 
| 162 | 
            +
             | 
| 163 | 
            +
                TmpFile.with_file(content) do |filename|
         | 
| 164 | 
            +
                  tsv = TSV.new(File.open(filename), :double, :sep => /\s+/)
         | 
| 165 | 
            +
                  index = tsv.pos_index("Pos", :memory, true)
         | 
| 166 | 
            +
                  assert_equal ["row1"], index[10]
         | 
| 167 | 
            +
                end
         | 
| 168 | 
            +
              end
         | 
| 169 | 
            +
             | 
| 170 | 
            +
             | 
| 171 | 
            +
              def test_range_index
         | 
| 172 | 
            +
                content =<<-EOF
         | 
| 173 | 
            +
            #Id	ValueA    ValueB    Pos1    Pos2
         | 
| 174 | 
            +
            row1    a|aa|aaa    b    0|10    10|30
         | 
| 175 | 
            +
            row2    A    B    30   35
         | 
| 176 | 
            +
                EOF
         | 
| 177 | 
            +
             | 
| 178 | 
            +
                TmpFile.with_file(content) do |filename|
         | 
| 179 | 
            +
                  tsv = TSV.new(File.open(filename), :double, :sep => /\s+/)
         | 
| 180 | 
            +
                  index = tsv.pos_index("Pos1", :memory, true)
         | 
| 181 | 
            +
                  assert_equal ["row1"], index[10]
         | 
| 182 | 
            +
             | 
| 183 | 
            +
                  index = tsv.range_index("Pos1", "Pos2", :memory, true)
         | 
| 184 | 
            +
                  assert_equal ["row1"], index[20]
         | 
| 185 | 
            +
                end
         | 
| 186 | 
            +
              end
         | 
| 187 | 
            +
             | 
| 156 188 | 
             
            end
         | 
| 157 189 |  | 
| @@ -242,5 +242,23 @@ row3    a    C    Id4 | |
| 242 242 |  | 
| 243 243 | 
             
              end
         | 
| 244 244 |  | 
| 245 | 
            +
              def test_through_single
         | 
| 246 | 
            +
                 content =<<-EOF
         | 
| 247 | 
            +
            #Id    LetterValue
         | 
| 248 | 
            +
            row1    a1
         | 
| 249 | 
            +
            row2    A1
         | 
| 250 | 
            +
            row3    a2
         | 
| 251 | 
            +
                EOF
         | 
| 252 | 
            +
             
         | 
| 253 | 
            +
                TmpFile.with_file(content) do |filename|
         | 
| 254 | 
            +
                  tsv = TSV.new(filename + '#:sep=/\s+/#:type=:single')
         | 
| 255 | 
            +
             | 
| 256 | 
            +
                  #TODO: WTF!!!
         | 
| 257 | 
            +
                  assert_equal "row1", tsv.reorder("LetterValue", :key)[97]
         | 
| 258 | 
            +
                end
         | 
| 259 | 
            +
             
         | 
| 260 | 
            +
              end
         | 
| 261 | 
            +
             | 
| 262 | 
            +
             | 
| 245 263 | 
             
            end
         | 
| 246 264 |  | 
    
        data/test/test_helper.rb
    CHANGED
    
    | @@ -16,9 +16,11 @@ class Test::Unit::TestCase | |
| 16 16 |  | 
| 17 17 | 
             
              def teardown
         | 
| 18 18 | 
             
                FileUtils.rm_rf Rbbt.tmp.test.find :user
         | 
| 19 | 
            +
                TCHash::CONNECTIONS.values.each do |c| c.close end
         | 
| 20 | 
            +
                TCHash::CONNECTIONS.clear
         | 
| 19 21 | 
             
              end
         | 
| 20 22 |  | 
| 21 | 
            -
              def  | 
| 23 | 
            +
              def datafile_test(file)
         | 
| 22 24 | 
             
                File.join(File.dirname(__FILE__), 'data', file)
         | 
| 23 25 | 
             
              end
         | 
| 24 26 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: rbbt-util
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 5 | 
            -
              prerelease:  | 
| 4 | 
            +
              hash: 15
         | 
| 5 | 
            +
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 3
         | 
| 8 | 
            -
              -  | 
| 8 | 
            +
              - 2
         | 
| 9 9 | 
             
              - 0
         | 
| 10 | 
            -
              version: 3. | 
| 10 | 
            +
              version: 3.2.0
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Miguel Vazquez
         | 
| @@ -15,7 +15,7 @@ autorequire: | |
| 15 15 | 
             
            bindir: bin
         | 
| 16 16 | 
             
            cert_chain: []
         | 
| 17 17 |  | 
| 18 | 
            -
            date: 2011- | 
| 18 | 
            +
            date: 2011-06-12 00:00:00 +02:00
         | 
| 19 19 | 
             
            default_executable: 
         | 
| 20 20 | 
             
            dependencies: 
         | 
| 21 21 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -141,6 +141,7 @@ files: | |
| 141 141 | 
             
            - lib/rbbt/util/tsv.rb
         | 
| 142 142 | 
             
            - lib/rbbt/util/tsv/accessor.rb
         | 
| 143 143 | 
             
            - lib/rbbt/util/tsv/attach.rb
         | 
| 144 | 
            +
            - lib/rbbt/util/tsv/filters.rb
         | 
| 144 145 | 
             
            - lib/rbbt/util/tsv/index.rb
         | 
| 145 146 | 
             
            - lib/rbbt/util/tsv/manipulate.rb
         | 
| 146 147 | 
             
            - lib/rbbt/util/tsv/misc.rb
         | 
| @@ -150,31 +151,32 @@ files: | |
| 150 151 | 
             
            - lib/rbbt/util/workflow/soap.rb
         | 
| 151 152 | 
             
            - share/install/software/lib/install_helpers
         | 
| 152 153 | 
             
            - share/lib/R/util.R
         | 
| 153 | 
            -
            - test/ | 
| 154 | 
            -
            - test/rbbt/util/ | 
| 155 | 
            -
            - test/rbbt/util/test_cmd.rb
         | 
| 156 | 
            -
            - test/rbbt/util/test_excel2tsv.rb
         | 
| 154 | 
            +
            - test/test_helper.rb
         | 
| 155 | 
            +
            - test/rbbt/util/test_tmpfile.rb
         | 
| 157 156 | 
             
            - test/rbbt/util/test_filecache.rb
         | 
| 158 | 
            -
            - test/rbbt/util/test_fix_width_table.rb
         | 
| 159 | 
            -
            - test/rbbt/util/test_misc.rb
         | 
| 160 157 | 
             
            - test/rbbt/util/test_open.rb
         | 
| 161 | 
            -
            - test/rbbt/util/ | 
| 162 | 
            -
            - test/rbbt/util/ | 
| 163 | 
            -
            - test/rbbt/util/ | 
| 158 | 
            +
            - test/rbbt/util/test_tsv.rb
         | 
| 159 | 
            +
            - test/rbbt/util/test_misc.rb
         | 
| 160 | 
            +
            - test/rbbt/util/test_cmd.rb
         | 
| 161 | 
            +
            - test/rbbt/util/test_tc_hash.rb
         | 
| 164 162 | 
             
            - test/rbbt/util/test_simpleDSL.rb
         | 
| 163 | 
            +
            - test/rbbt/util/test_resource.rb
         | 
| 164 | 
            +
            - test/rbbt/util/test_R.rb
         | 
| 165 | 
            +
            - test/rbbt/util/test_excel2tsv.rb
         | 
| 165 166 | 
             
            - test/rbbt/util/test_simpleopt.rb
         | 
| 166 167 | 
             
            - test/rbbt/util/test_task.rb
         | 
| 167 | 
            -
            - test/rbbt/util/ | 
| 168 | 
            -
            - test/rbbt/util/ | 
| 169 | 
            -
            - test/rbbt/util/ | 
| 168 | 
            +
            - test/rbbt/util/test_bed.rb
         | 
| 169 | 
            +
            - test/rbbt/util/test_rake.rb
         | 
| 170 | 
            +
            - test/rbbt/util/test_persistence.rb
         | 
| 170 171 | 
             
            - test/rbbt/util/test_workflow.rb
         | 
| 172 | 
            +
            - test/rbbt/util/tsv/test_parse.rb
         | 
| 171 173 | 
             
            - test/rbbt/util/tsv/test_accessor.rb
         | 
| 172 | 
            -
            - test/rbbt/util/tsv/test_attach.rb
         | 
| 173 | 
            -
            - test/rbbt/util/tsv/test_index.rb
         | 
| 174 174 | 
             
            - test/rbbt/util/tsv/test_manipulate.rb
         | 
| 175 | 
            -
            - test/rbbt/util/tsv/ | 
| 175 | 
            +
            - test/rbbt/util/tsv/test_index.rb
         | 
| 176 | 
            +
            - test/rbbt/util/tsv/test_attach.rb
         | 
| 176 177 | 
             
            - test/rbbt/util/tsv/test_resource.rb
         | 
| 177 | 
            -
            - test/ | 
| 178 | 
            +
            - test/rbbt/util/tsv/test_filters.rb
         | 
| 179 | 
            +
            - test/rbbt/util/test_fix_width_table.rb
         | 
| 178 180 | 
             
            - test/test_rbbt.rb
         | 
| 179 181 | 
             
            - bin/tsv.rb
         | 
| 180 182 | 
             
            - bin/tchash.rb
         | 
| @@ -212,34 +214,35 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 212 214 | 
             
            requirements: []
         | 
| 213 215 |  | 
| 214 216 | 
             
            rubyforge_project: 
         | 
| 215 | 
            -
            rubygems_version: 1. | 
| 217 | 
            +
            rubygems_version: 1.6.2
         | 
| 216 218 | 
             
            signing_key: 
         | 
| 217 219 | 
             
            specification_version: 3
         | 
| 218 220 | 
             
            summary: Utilities for the Ruby Bioinformatics Toolkit (rbbt)
         | 
| 219 221 | 
             
            test_files: 
         | 
| 220 | 
            -
            - test/ | 
| 221 | 
            -
            - test/rbbt/util/ | 
| 222 | 
            -
            - test/rbbt/util/test_cmd.rb
         | 
| 223 | 
            -
            - test/rbbt/util/test_excel2tsv.rb
         | 
| 222 | 
            +
            - test/test_helper.rb
         | 
| 223 | 
            +
            - test/rbbt/util/test_tmpfile.rb
         | 
| 224 224 | 
             
            - test/rbbt/util/test_filecache.rb
         | 
| 225 | 
            -
            - test/rbbt/util/test_fix_width_table.rb
         | 
| 226 | 
            -
            - test/rbbt/util/test_misc.rb
         | 
| 227 225 | 
             
            - test/rbbt/util/test_open.rb
         | 
| 228 | 
            -
            - test/rbbt/util/ | 
| 229 | 
            -
            - test/rbbt/util/ | 
| 230 | 
            -
            - test/rbbt/util/ | 
| 226 | 
            +
            - test/rbbt/util/test_tsv.rb
         | 
| 227 | 
            +
            - test/rbbt/util/test_misc.rb
         | 
| 228 | 
            +
            - test/rbbt/util/test_cmd.rb
         | 
| 229 | 
            +
            - test/rbbt/util/test_tc_hash.rb
         | 
| 231 230 | 
             
            - test/rbbt/util/test_simpleDSL.rb
         | 
| 231 | 
            +
            - test/rbbt/util/test_resource.rb
         | 
| 232 | 
            +
            - test/rbbt/util/test_R.rb
         | 
| 233 | 
            +
            - test/rbbt/util/test_excel2tsv.rb
         | 
| 232 234 | 
             
            - test/rbbt/util/test_simpleopt.rb
         | 
| 233 235 | 
             
            - test/rbbt/util/test_task.rb
         | 
| 234 | 
            -
            - test/rbbt/util/ | 
| 235 | 
            -
            - test/rbbt/util/ | 
| 236 | 
            -
            - test/rbbt/util/ | 
| 236 | 
            +
            - test/rbbt/util/test_bed.rb
         | 
| 237 | 
            +
            - test/rbbt/util/test_rake.rb
         | 
| 238 | 
            +
            - test/rbbt/util/test_persistence.rb
         | 
| 237 239 | 
             
            - test/rbbt/util/test_workflow.rb
         | 
| 240 | 
            +
            - test/rbbt/util/tsv/test_parse.rb
         | 
| 238 241 | 
             
            - test/rbbt/util/tsv/test_accessor.rb
         | 
| 239 | 
            -
            - test/rbbt/util/tsv/test_attach.rb
         | 
| 240 | 
            -
            - test/rbbt/util/tsv/test_index.rb
         | 
| 241 242 | 
             
            - test/rbbt/util/tsv/test_manipulate.rb
         | 
| 242 | 
            -
            - test/rbbt/util/tsv/ | 
| 243 | 
            +
            - test/rbbt/util/tsv/test_index.rb
         | 
| 244 | 
            +
            - test/rbbt/util/tsv/test_attach.rb
         | 
| 243 245 | 
             
            - test/rbbt/util/tsv/test_resource.rb
         | 
| 244 | 
            -
            - test/ | 
| 246 | 
            +
            - test/rbbt/util/tsv/test_filters.rb
         | 
| 247 | 
            +
            - test/rbbt/util/test_fix_width_table.rb
         | 
| 245 248 | 
             
            - test/test_rbbt.rb
         |