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.
Files changed (31) hide show
  1. data/README.md +3 -3
  2. data/lib/mass_insert/adapters.rb +0 -1
  3. data/lib/mass_insert/adapters/adapter.rb +1 -7
  4. data/lib/mass_insert/adapters/column_value.rb +33 -29
  5. data/lib/mass_insert/adapters/helpers.rb +3 -2
  6. data/lib/mass_insert/adapters/helpers/abstract_query.rb +48 -0
  7. data/lib/mass_insert/adapters/helpers/sanitizer.rb +6 -0
  8. data/lib/mass_insert/adapters/mysql2_adapter.rb +1 -1
  9. data/lib/mass_insert/base.rb +49 -20
  10. data/lib/mass_insert/query_builder.rb +6 -6
  11. data/lib/mass_insert/version.rb +1 -1
  12. data/spec/active_record_dummy/Gemfile +1 -1
  13. data/spec/active_record_dummy/config/database.yml +1 -1
  14. data/spec/mass_insert/adapters/adapter_spec.rb +23 -45
  15. data/spec/mass_insert/adapters/column_value_spec.rb +107 -154
  16. data/spec/mass_insert/adapters/{abstract_query_spec.rb → helpers/abstract_query_spec.rb} +23 -27
  17. data/spec/mass_insert/adapters/helpers/sanitizer_spec.rb +16 -9
  18. data/spec/mass_insert/adapters/helpers/timestamp_spec.rb +11 -15
  19. data/spec/mass_insert/adapters/helpers_spec.rb +7 -3
  20. data/spec/mass_insert/adapters/mysql_adapter_spec.rb +6 -10
  21. data/spec/mass_insert/adapters/postgresql_adapter_spec.rb +4 -8
  22. data/spec/mass_insert/adapters/sqlite3_adapter_spec.rb +24 -30
  23. data/spec/mass_insert/adapters/sqlserver_adapter_spec.rb +16 -21
  24. data/spec/mass_insert/adapters_spec.rb +8 -12
  25. data/spec/mass_insert/base_spec.rb +13 -13
  26. data/spec/mass_insert/process_control_spec.rb +33 -40
  27. data/spec/mass_insert/query_builder_spec.rb +20 -24
  28. data/spec/mass_insert/query_execution_spec.rb +13 -16
  29. data/spec/mass_insert_spec.rb +6 -6
  30. metadata +7 -7
  31. 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.2
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-04-21 00:00:00.000000000 Z
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: -391143887748903532
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: -391143887748903532
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