mass_insert 0.0.2 → 0.0.3
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/README.md +3 -3
- data/lib/mass_insert/adapters.rb +0 -1
- data/lib/mass_insert/adapters/adapter.rb +1 -7
- data/lib/mass_insert/adapters/column_value.rb +33 -29
- data/lib/mass_insert/adapters/helpers.rb +3 -2
- data/lib/mass_insert/adapters/helpers/abstract_query.rb +48 -0
- data/lib/mass_insert/adapters/helpers/sanitizer.rb +6 -0
- data/lib/mass_insert/adapters/mysql2_adapter.rb +1 -1
- data/lib/mass_insert/base.rb +49 -20
- data/lib/mass_insert/query_builder.rb +6 -6
- data/lib/mass_insert/version.rb +1 -1
- data/spec/active_record_dummy/Gemfile +1 -1
- data/spec/active_record_dummy/config/database.yml +1 -1
- data/spec/mass_insert/adapters/adapter_spec.rb +23 -45
- data/spec/mass_insert/adapters/column_value_spec.rb +107 -154
- data/spec/mass_insert/adapters/{abstract_query_spec.rb → helpers/abstract_query_spec.rb} +23 -27
- data/spec/mass_insert/adapters/helpers/sanitizer_spec.rb +16 -9
- data/spec/mass_insert/adapters/helpers/timestamp_spec.rb +11 -15
- data/spec/mass_insert/adapters/helpers_spec.rb +7 -3
- data/spec/mass_insert/adapters/mysql_adapter_spec.rb +6 -10
- data/spec/mass_insert/adapters/postgresql_adapter_spec.rb +4 -8
- data/spec/mass_insert/adapters/sqlite3_adapter_spec.rb +24 -30
- data/spec/mass_insert/adapters/sqlserver_adapter_spec.rb +16 -21
- data/spec/mass_insert/adapters_spec.rb +8 -12
- data/spec/mass_insert/base_spec.rb +13 -13
- data/spec/mass_insert/process_control_spec.rb +33 -40
- data/spec/mass_insert/query_builder_spec.rb +20 -24
- data/spec/mass_insert/query_execution_spec.rb +13 -16
- data/spec/mass_insert_spec.rb +6 -6
- metadata +7 -7
- data/lib/mass_insert/adapters/abstract_query.rb +0 -47
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mass_insert
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-05-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -60,10 +60,10 @@ files:
|
|
60
60
|
- Rakefile
|
61
61
|
- lib/mass_insert.rb
|
62
62
|
- lib/mass_insert/adapters.rb
|
63
|
-
- lib/mass_insert/adapters/abstract_query.rb
|
64
63
|
- lib/mass_insert/adapters/adapter.rb
|
65
64
|
- lib/mass_insert/adapters/column_value.rb
|
66
65
|
- lib/mass_insert/adapters/helpers.rb
|
66
|
+
- lib/mass_insert/adapters/helpers/abstract_query.rb
|
67
67
|
- lib/mass_insert/adapters/helpers/sanitizer.rb
|
68
68
|
- lib/mass_insert/adapters/helpers/timestamp.rb
|
69
69
|
- lib/mass_insert/adapters/mysql2_adapter.rb
|
@@ -131,9 +131,9 @@ files:
|
|
131
131
|
- spec/active_record_models/column_types/string_spec.rb
|
132
132
|
- spec/active_record_models/model_spec.rb
|
133
133
|
- spec/dummy_models/test.rb
|
134
|
-
- spec/mass_insert/adapters/abstract_query_spec.rb
|
135
134
|
- spec/mass_insert/adapters/adapter_spec.rb
|
136
135
|
- spec/mass_insert/adapters/column_value_spec.rb
|
136
|
+
- spec/mass_insert/adapters/helpers/abstract_query_spec.rb
|
137
137
|
- spec/mass_insert/adapters/helpers/sanitizer_spec.rb
|
138
138
|
- spec/mass_insert/adapters/helpers/timestamp_spec.rb
|
139
139
|
- spec/mass_insert/adapters/helpers_spec.rb
|
@@ -162,7 +162,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
162
162
|
version: '0'
|
163
163
|
segments:
|
164
164
|
- 0
|
165
|
-
hash:
|
165
|
+
hash: 27067544814586387
|
166
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
167
|
none: false
|
168
168
|
requirements:
|
@@ -171,7 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
171
171
|
version: '0'
|
172
172
|
segments:
|
173
173
|
- 0
|
174
|
-
hash:
|
174
|
+
hash: 27067544814586387
|
175
175
|
requirements: []
|
176
176
|
rubyforge_project:
|
177
177
|
rubygems_version: 1.8.25
|
@@ -235,9 +235,9 @@ test_files:
|
|
235
235
|
- spec/active_record_models/column_types/string_spec.rb
|
236
236
|
- spec/active_record_models/model_spec.rb
|
237
237
|
- spec/dummy_models/test.rb
|
238
|
-
- spec/mass_insert/adapters/abstract_query_spec.rb
|
239
238
|
- spec/mass_insert/adapters/adapter_spec.rb
|
240
239
|
- spec/mass_insert/adapters/column_value_spec.rb
|
240
|
+
- spec/mass_insert/adapters/helpers/abstract_query_spec.rb
|
241
241
|
- spec/mass_insert/adapters/helpers/sanitizer_spec.rb
|
242
242
|
- spec/mass_insert/adapters/helpers/timestamp_spec.rb
|
243
243
|
- spec/mass_insert/adapters/helpers_spec.rb
|
@@ -1,47 +0,0 @@
|
|
1
|
-
module MassInsert
|
2
|
-
module Adapters
|
3
|
-
module AbstractQuery
|
4
|
-
|
5
|
-
# Returns a begin string to a basic mysql query insertion. Include
|
6
|
-
# the class table_name and it's included in the string.
|
7
|
-
def begin_string
|
8
|
-
"INSERT INTO #{table_name} "
|
9
|
-
end
|
10
|
-
|
11
|
-
# Returns a string with the column names to the class table name
|
12
|
-
# and divided by commmas.
|
13
|
-
def string_columns
|
14
|
-
"(#{column_names.join(", ")}) "
|
15
|
-
end
|
16
|
-
|
17
|
-
# Returns the string with all the row values that will be included
|
18
|
-
# in the sql string.
|
19
|
-
def string_values
|
20
|
-
"VALUES (#{string_rows_values});"
|
21
|
-
end
|
22
|
-
|
23
|
-
# Gives the correct format to the values string to all rows. This
|
24
|
-
# functions calls a function that will generate a single string row
|
25
|
-
# and at the end all the strings are concatenated.
|
26
|
-
def string_rows_values
|
27
|
-
values.map{ |row| string_single_row_values(row) }.join("), (")
|
28
|
-
end
|
29
|
-
|
30
|
-
def string_single_row_values row
|
31
|
-
# Prepare the single row to be included in the sql string.
|
32
|
-
row.merge!(timestamp_values) if timestamp?
|
33
|
-
|
34
|
-
# Generates the values to this row that will be included according
|
35
|
-
# to the type column and values.
|
36
|
-
column_names.map{ |col| string_single_value(row, col) }.join(", ")
|
37
|
-
end
|
38
|
-
|
39
|
-
# Returns a single column string value with the correct format and
|
40
|
-
# according to the database configuration, column type and presence.
|
41
|
-
def string_single_value row, column
|
42
|
-
ColumnValue.new(row, column, options).build
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|