rigrate 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 187fa5716dd1625fe30f8a5d1fcab945cf1b8293
4
- data.tar.gz: 0bdffca0c4724b9d1a36b36c3a8f46dc54fd0b52
3
+ metadata.gz: 4b9ff4b5fcddb2e8d8b931e24609f4d4fbc05363
4
+ data.tar.gz: f2375346f434c8c526bde390f30d89877ee3e089
5
5
  SHA512:
6
- metadata.gz: 5a5af45d6cade3df5147184238d8ad3ae41b0afdd0c399d4789fe4b6820a345205c742ba9f8ba4b9b4e1d94573d9844f0c058d1d9647c70322a420de539a8c48
7
- data.tar.gz: e281b403611bef6f7fa738ad3cf64a153b2a57a91c1e35027582c47435cfb9d6003a6e801e6edc79362a33446a485f91a779d6d4f4f8a4fd7fd42efb8805169f
6
+ metadata.gz: 6496703a9fdd5d3da384815b5aa0497bb16e31f58b96faf97124d357397ff690c76703eec0d40ad8174cf79437404987c804d43ce18f53e922e80dc7b6a382ed
7
+ data.tar.gz: 3d821e1a14765faf7559b9a782923804cbaec776e1b56996424b84787158f39a7db3d5a8c1926b5d29ada73f3baf046c7bd09d19dab0f6458e9a35aec0d80a57
@@ -0,0 +1 @@
1
+ rigrate-*.gem
data/README.md CHANGED
@@ -139,7 +139,7 @@ Rigrate will do not use transaction as default. Switch it on, you can do it thro
139
139
  parser.lex(str).parsing
140
140
  ```
141
141
  4. QuickScript. a fast way to operate data, Rigrate will load a predefined data sources file in {home}/.rigrate/ds.
142
- you can define some frequently used data source, and run in migration throught command line. like blow:
142
+ you can define some frequently used data source, and run in migration throught command line. like below:
143
143
 
144
144
  ```shell
145
145
  $ rigrate execute -c "from hr.users to oa.accounts"
data/Rakefile CHANGED
File without changes
File without changes
File without changes
@@ -8,7 +8,13 @@ module Rigrate
8
8
 
9
9
  def initialize(conn_uri)
10
10
  uri = URI.parse(conn_uri)
11
- @dbh = eval(uri.scheme.capitalize).new conn_uri
11
+ klazz = uri.scheme.capitalize
12
+ begin
13
+ Module.const_get(klazz)
14
+ rescue NameError
15
+ DataSource.load_driver(klazz.downcase)
16
+ end
17
+ @dbh = eval(klazz).new conn_uri
12
18
  end
13
19
 
14
20
  def sql(str, *args)
@@ -34,6 +40,15 @@ module Rigrate
34
40
 
35
41
  private
36
42
 
43
+ def self.load_driver(driver_name)
44
+ driver_path = File.expand_path(File.dirname(__FILE__) + "./interface/#{driver_name}")
45
+ unless File.exist? "#{driver_path}.rb"
46
+ raise InterfaceError.new("Driver [#{driver_name}] not found.")
47
+ end
48
+
49
+ require driver_path
50
+ end
51
+
37
52
  def build_sql(table, *columns)
38
53
  columns = ['*'] if columns.size == 0
39
54
 
File without changes
@@ -3,18 +3,4 @@
3
3
  require 'uri'
4
4
  require 'rigrate/interface/driver'
5
5
  require 'rigrate/interface/result_set'
6
- require 'rigrate/interface/row'
7
- require 'rigrate/interface/sqlite'
8
- require 'rigrate/interface/mysql'
9
- require 'rigrate/interface/oracle'
10
-
11
- module Rigrate
12
- def self.lazy_load_driver(driver_name)
13
- driver_path = "./interface/#{driver_name}"
14
- if File.exists? driver_path
15
- raise InterfaceError.new('Driver not found.')
16
- end
17
-
18
- require driver_path
19
- end
20
- end
6
+ require 'rigrate/interface/row'
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'rigrate'
3
- s.version = '0.0.1'
3
+ s.version = '0.0.3'
4
4
  s.executables << 'rigrate'
5
5
  s.date = '2016-04-01'
6
6
  s.summary = 'Ruby Migrate! data migrate tool in ruby.'
@@ -15,7 +15,5 @@ Gem::Specification.new do |s|
15
15
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
16
16
  s.require_paths = ["lib"]
17
17
 
18
- s.add_dependency 'ruby-oci8', '~> 2.2'
19
18
  s.add_dependency 'sqlite3', '~> 1.3'
20
- s.add_dependency "mysql", "~> 2.9"
21
- end
19
+ end
@@ -6,4 +6,8 @@ require 'rigrate'
6
6
 
7
7
  class TestHelper < MiniTest::Test
8
8
  include Rigrate
9
+
10
+ DataSource.load_driver('mysql')
11
+ DataSource.load_driver('oracle')
12
+ DataSource.load_driver('sqlite')
9
13
  end
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rigrate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - jiyaping
@@ -10,20 +10,6 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2016-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: ruby-oci8
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '2.2'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '2.2'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: sqlite3
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -38,20 +24,6 @@ dependencies:
38
24
  - - "~>"
39
25
  - !ruby/object:Gem::Version
40
26
  version: '1.3'
41
- - !ruby/object:Gem::Dependency
42
- name: mysql
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '2.9'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '2.9'
55
27
  description: a data migrate tool between diffenect data sources write by ruby.
56
28
  email: jiyaping0802@gmail.com
57
29
  executables:
@@ -59,6 +31,7 @@ executables:
59
31
  extensions: []
60
32
  extra_rdoc_files: []
61
33
  files:
34
+ - ".gitignore"
62
35
  - README.md
63
36
  - Rakefile
64
37
  - bin/rigrate
@@ -106,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
79
  version: '0'
107
80
  requirements: []
108
81
  rubyforge_project:
109
- rubygems_version: 2.2.2
82
+ rubygems_version: 2.5.1
110
83
  signing_key:
111
84
  specification_version: 4
112
85
  summary: Ruby Migrate! data migrate tool in ruby.