taps 0.2.7 → 0.2.8
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/VERSION.yml +1 -1
- data/lib/taps/client_session.rb +26 -10
- data/lib/taps/progress_bar.rb +1 -1
- data/lib/taps/schema.rb +3 -1
- data/spec/client_session_spec.rb +3 -3
- data/spec/schema_spec.rb +1 -0
- metadata +5 -5
    
        data/VERSION.yml
    CHANGED
    
    
    
        data/lib/taps/client_session.rb
    CHANGED
    
    | @@ -74,27 +74,32 @@ class ClientSession | |
| 74 74 | 
             
            	end
         | 
| 75 75 |  | 
| 76 76 | 
             
            	def cmd_send_indexes
         | 
| 77 | 
            -
            		puts "Sending  | 
| 77 | 
            +
            		puts "Sending indexes"
         | 
| 78 78 |  | 
| 79 79 | 
             
            		index_data = `#{File.dirname(__FILE__)}/../../bin/schema indexes #{database_url}`
         | 
| 80 80 | 
             
            		session_resource['indexes'].post(index_data, :taps_version => Taps.version)
         | 
| 81 81 | 
             
            	end
         | 
| 82 82 |  | 
| 83 83 | 
             
            	def cmd_send_schema
         | 
| 84 | 
            -
            		puts "Sending schema | 
| 84 | 
            +
            		puts "Sending schema"
         | 
| 85 85 |  | 
| 86 86 | 
             
            		schema_data = `#{File.dirname(__FILE__)}/../../bin/schema dump #{database_url}`
         | 
| 87 87 | 
             
            		session_resource['schema'].post(schema_data, :taps_version => Taps.version)
         | 
| 88 88 | 
             
            	end
         | 
| 89 89 |  | 
| 90 90 | 
             
            	def cmd_send_reset_sequences
         | 
| 91 | 
            -
            		puts "Resetting  | 
| 91 | 
            +
            		puts "Resetting sequences"
         | 
| 92 92 |  | 
| 93 93 | 
             
            		session_resource["reset_sequences"].post('', :taps_version => Taps.version)
         | 
| 94 94 | 
             
            	end
         | 
| 95 95 |  | 
| 96 96 | 
             
            	def cmd_send_data
         | 
| 97 | 
            -
            		puts "Sending  | 
| 97 | 
            +
            		puts "Sending data"
         | 
| 98 | 
            +
             | 
| 99 | 
            +
            		tables_with_counts, record_count = fetch_tables_info
         | 
| 100 | 
            +
             | 
| 101 | 
            +
            		puts "#{tables_with_counts.size} tables, #{format_number(record_count)} records"
         | 
| 102 | 
            +
             | 
| 98 103 |  | 
| 99 104 | 
             
            		db.tables.each do |table_name|
         | 
| 100 105 | 
             
            			table = db[table_name]
         | 
| @@ -135,6 +140,17 @@ class ClientSession | |
| 135 140 | 
             
            		end
         | 
| 136 141 | 
             
            	end
         | 
| 137 142 |  | 
| 143 | 
            +
            	def fetch_tables_info
         | 
| 144 | 
            +
            		record_count = 0
         | 
| 145 | 
            +
            		tables = db.tables
         | 
| 146 | 
            +
            		tables_with_counts = tables.inject({}) do |accum, table|
         | 
| 147 | 
            +
            			accum[table] = db[table].count
         | 
| 148 | 
            +
            			record_count += accum[table]
         | 
| 149 | 
            +
            		end
         | 
| 150 | 
            +
             | 
| 151 | 
            +
            		[ tables_with_counts, record_count ]
         | 
| 152 | 
            +
            	end
         | 
| 153 | 
            +
             | 
| 138 154 | 
             
            	def cmd_receive
         | 
| 139 155 | 
             
            		verify_server
         | 
| 140 156 | 
             
            		cmd_receive_schema
         | 
| @@ -144,9 +160,9 @@ class ClientSession | |
| 144 160 | 
             
            	end
         | 
| 145 161 |  | 
| 146 162 | 
             
            	def cmd_receive_data
         | 
| 147 | 
            -
            		puts "Receiving data | 
| 163 | 
            +
            		puts "Receiving data"
         | 
| 148 164 |  | 
| 149 | 
            -
            		tables_with_counts, record_count =  | 
| 165 | 
            +
            		tables_with_counts, record_count = fetch_remote_tables_info
         | 
| 150 166 |  | 
| 151 167 | 
             
            		puts "#{tables_with_counts.size} tables, #{format_number(record_count)} records"
         | 
| 152 168 |  | 
| @@ -194,7 +210,7 @@ class ClientSession | |
| 194 210 | 
             
            		[chunksize, rows]
         | 
| 195 211 | 
             
            	end
         | 
| 196 212 |  | 
| 197 | 
            -
            	def  | 
| 213 | 
            +
            	def fetch_remote_tables_info
         | 
| 198 214 | 
             
            		retries = 0
         | 
| 199 215 | 
             
            		max_retries = 1
         | 
| 200 216 | 
             
            		begin
         | 
| @@ -211,7 +227,7 @@ class ClientSession | |
| 211 227 | 
             
            	end
         | 
| 212 228 |  | 
| 213 229 | 
             
            	def cmd_receive_schema
         | 
| 214 | 
            -
            		puts "Receiving schema | 
| 230 | 
            +
            		puts "Receiving schema"
         | 
| 215 231 |  | 
| 216 232 | 
             
            		schema_data = session_resource['schema'].get(:taps_version => Taps.version)
         | 
| 217 233 | 
             
            		output = Taps::Utils.load_schema(database_url, schema_data)
         | 
| @@ -219,7 +235,7 @@ class ClientSession | |
| 219 235 | 
             
            	end
         | 
| 220 236 |  | 
| 221 237 | 
             
            	def cmd_receive_indexes
         | 
| 222 | 
            -
            		puts "Receiving  | 
| 238 | 
            +
            		puts "Receiving indexes"
         | 
| 223 239 |  | 
| 224 240 | 
             
            		index_data = session_resource['indexes'].get(:taps_version => Taps.version)
         | 
| 225 241 |  | 
| @@ -228,7 +244,7 @@ class ClientSession | |
| 228 244 | 
             
            	end
         | 
| 229 245 |  | 
| 230 246 | 
             
            	def cmd_reset_sequences
         | 
| 231 | 
            -
            		puts "Resetting  | 
| 247 | 
            +
            		puts "Resetting sequences"
         | 
| 232 248 |  | 
| 233 249 | 
             
            		output = `#{File.dirname(__FILE__)}/../../bin/schema reset_db_sequences #{database_url}`
         | 
| 234 250 | 
             
            		puts output if output
         | 
    
        data/lib/taps/progress_bar.rb
    CHANGED
    
    | @@ -127,7 +127,7 @@ class ProgressBar | |
| 127 127 | 
             
                  data = [0, 0, 0, 0].pack("SSSS")
         | 
| 128 128 | 
             
                  if @out.ioctl(tiocgwinsz, data) >= 0 then
         | 
| 129 129 | 
             
                    rows, cols, xpixels, ypixels = data.unpack("SSSS")
         | 
| 130 | 
            -
                    if cols  | 
| 130 | 
            +
                    if cols > 0 then cols else default_width end
         | 
| 131 131 | 
             
                  else
         | 
| 132 132 | 
             
                    default_width
         | 
| 133 133 | 
             
                  end
         | 
    
        data/lib/taps/schema.rb
    CHANGED
    
    | @@ -27,7 +27,9 @@ module Schema | |
| 27 27 |  | 
| 28 28 | 
             
            	def sqlite_config(url)
         | 
| 29 29 | 
             
            		m = %r{(sqlite3?)://(.+)}.match(url)
         | 
| 30 | 
            -
            		 | 
| 30 | 
            +
            		database = m[2]
         | 
| 31 | 
            +
            		database, q = database.split('?')
         | 
| 32 | 
            +
            		{ 'adapter' => 'sqlite3', 'database' => database }
         | 
| 31 33 | 
             
            	end
         | 
| 32 34 |  | 
| 33 35 | 
             
            	def connection(database_url)
         | 
    
        data/spec/client_session_spec.rb
    CHANGED
    
    | @@ -49,7 +49,7 @@ describe Taps::ClientSession do | |
| 49 49 | 
             
            		@progressbar.stubs(:inc)
         | 
| 50 50 | 
             
            		@progressbar.stubs(:finish)
         | 
| 51 51 | 
             
            		@mytable = mock('mytable')
         | 
| 52 | 
            -
            		@client.expects(: | 
| 52 | 
            +
            		@client.expects(:fetch_remote_tables_info).returns([ { :mytable => 2 }, 2 ])
         | 
| 53 53 | 
             
            		@client.stubs(:db).returns(mock('db'))
         | 
| 54 54 | 
             
            		@client.db.stubs(:[]).with(:mytable).returns(@mytable)
         | 
| 55 55 | 
             
            		@client.expects(:fetch_table_rows).with(:mytable, 1000, 0).returns([ 1000, { :header => [:x, :y], :data => [[1, 2], [3, 4]] } ])
         | 
| @@ -59,11 +59,11 @@ describe Taps::ClientSession do | |
| 59 59 | 
             
            		lambda { @client.cmd_receive_data }.should.not.raise
         | 
| 60 60 | 
             
            	end
         | 
| 61 61 |  | 
| 62 | 
            -
            	it "fetches tables info from taps server" do
         | 
| 62 | 
            +
            	it "fetches remote tables info from taps server" do
         | 
| 63 63 | 
             
            		@marshal_data = Marshal.dump({ :mytable => 2 })
         | 
| 64 64 | 
             
            		@client.session_resource.stubs(:[]).with('tables').returns(mock('tables'))
         | 
| 65 65 | 
             
            		@client.session_resource['tables'].stubs(:get).with(:taps_version => Taps.version).returns(@marshal_data)
         | 
| 66 | 
            -
            		@client. | 
| 66 | 
            +
            		@client.fetch_remote_tables_info.should == [ { :mytable => 2 }, 2 ]
         | 
| 67 67 | 
             
            	end
         | 
| 68 68 |  | 
| 69 69 | 
             
            	it "fetches table rows given a chunksize and offset from taps server" do
         | 
    
        data/spec/schema_spec.rb
    CHANGED
    
    | @@ -25,6 +25,7 @@ describe Taps::Schema do | |
| 25 25 | 
             
            	it "translates sqlite database path" do
         | 
| 26 26 | 
             
            		Taps::Schema.create_config("sqlite://pathtodb/mydb")['database'].should == 'pathtodb/mydb'
         | 
| 27 27 | 
             
            		Taps::Schema.create_config("sqlite:///pathtodb/mydb")['database'].should == '/pathtodb/mydb'
         | 
| 28 | 
            +
            		Taps::Schema.create_config("sqlite:///pathtodb/mydb?encoding=utf8")['database'].should == '/pathtodb/mydb'
         | 
| 28 29 | 
             
            	end
         | 
| 29 30 |  | 
| 30 31 | 
             
            	it "connects activerecord to the database" do
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: taps
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.8
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors: 
         | 
| 7 7 | 
             
            - Ricardo Chimal, Jr.
         | 
| @@ -10,7 +10,7 @@ autorequire: | |
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 12 |  | 
| 13 | 
            -
            date: 2009-03- | 
| 13 | 
            +
            date: 2009-03-16 00:00:00 -07:00
         | 
| 14 14 | 
             
            default_executable: 
         | 
| 15 15 | 
             
            dependencies: 
         | 
| 16 16 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -89,16 +89,16 @@ files: | |
| 89 89 | 
             
            - spec/client_session_spec.rb
         | 
| 90 90 | 
             
            - spec/schema_spec.rb
         | 
| 91 91 | 
             
            - lib/taps/db_session.rb
         | 
| 92 | 
            -
            - lib/taps/client_session.rb
         | 
| 93 92 | 
             
            - lib/taps/progress_bar.rb
         | 
| 93 | 
            +
            - lib/taps/server.rb
         | 
| 94 94 | 
             
            - lib/taps/cli.rb
         | 
| 95 95 | 
             
            - lib/taps/adapter_hacks.rb
         | 
| 96 96 | 
             
            - lib/taps/adapter_hacks/invalid_text_limit.rb
         | 
| 97 97 | 
             
            - lib/taps/adapter_hacks/non_rails_schema_dump.rb
         | 
| 98 | 
            -
            - lib/taps/server.rb
         | 
| 99 98 | 
             
            - lib/taps/schema.rb
         | 
| 100 | 
            -
            - lib/taps/ | 
| 99 | 
            +
            - lib/taps/client_session.rb
         | 
| 101 100 | 
             
            - lib/taps/utils.rb
         | 
| 101 | 
            +
            - lib/taps/config.rb
         | 
| 102 102 | 
             
            - README.rdoc
         | 
| 103 103 | 
             
            - LICENSE
         | 
| 104 104 | 
             
            - VERSION.yml
         |